@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.
- package/dist/bubble-bundle.d.ts +130 -89
- package/dist/bubble-factory.d.ts.map +1 -1
- package/dist/bubble-factory.js +3 -0
- package/dist/bubble-factory.js.map +1 -1
- package/dist/bubbles/service-bubble/agi-inc.d.ts +20 -20
- package/dist/bubbles/service-bubble/ai-agent.d.ts +4 -4
- package/dist/bubbles/service-bubble/apify/apify.d.ts +4 -4
- package/dist/bubbles/service-bubble/ashby/ashby.d.ts +56 -56
- package/dist/bubbles/service-bubble/ashby/ashby.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/ashby/ashby.js.map +1 -1
- package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +385 -385
- package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/ashby/ashby.schema.js +6 -2
- package/dist/bubbles/service-bubble/ashby/ashby.schema.js.map +1 -1
- package/dist/bubbles/service-bubble/assembled/assembled.d.ts +6 -6
- package/dist/bubbles/service-bubble/attio/attio.d.ts +2 -2
- package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +2 -2
- package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +78 -78
- package/dist/bubbles/service-bubble/firecrawl.d.ts +176 -176
- package/dist/bubbles/service-bubble/followupboss.d.ts +8 -8
- package/dist/bubbles/service-bubble/github.d.ts +60 -60
- package/dist/bubbles/service-bubble/gmail.d.ts +64 -64
- package/dist/bubbles/service-bubble/google-calendar.d.ts +6 -6
- package/dist/bubbles/service-bubble/google-drive.d.ts +8 -8
- package/dist/bubbles/service-bubble/hubspot/hubspot.d.ts +2 -2
- package/dist/bubbles/service-bubble/jira/jira.d.ts +57 -38
- package/dist/bubbles/service-bubble/jira/jira.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/jira/jira.js +77 -13
- package/dist/bubbles/service-bubble/jira/jira.js.map +1 -1
- package/dist/bubbles/service-bubble/notion/notion.d.ts +376 -376
- package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +8 -8
- package/dist/bubbles/service-bubble/posthog/posthog.d.ts +2 -2
- package/dist/bubbles/service-bubble/sendsafely/sendsafely.d.ts +4 -4
- package/dist/bubbles/service-bubble/slab/slab.d.ts +16 -16
- package/dist/bubbles/service-bubble/slack/slack.d.ts +102 -102
- package/dist/bubbles/service-bubble/snowflake/index.d.ts +4 -0
- package/dist/bubbles/service-bubble/snowflake/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/snowflake/index.js +4 -0
- package/dist/bubbles/service-bubble/snowflake/index.js.map +1 -0
- package/dist/bubbles/service-bubble/snowflake/snowflake.d.ts +354 -0
- package/dist/bubbles/service-bubble/snowflake/snowflake.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/snowflake/snowflake.js +285 -0
- package/dist/bubbles/service-bubble/snowflake/snowflake.js.map +1 -0
- package/dist/bubbles/service-bubble/snowflake/snowflake.schema.d.ts +321 -0
- package/dist/bubbles/service-bubble/snowflake/snowflake.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/snowflake/snowflake.schema.js +198 -0
- package/dist/bubbles/service-bubble/snowflake/snowflake.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/snowflake/snowflake.utils.d.ts +44 -0
- package/dist/bubbles/service-bubble/snowflake/snowflake.utils.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/snowflake/snowflake.utils.js +97 -0
- package/dist/bubbles/service-bubble/snowflake/snowflake.utils.js.map +1 -0
- package/dist/bubbles/service-bubble/stripe/stripe.d.ts +14 -14
- package/dist/bubbles/service-bubble/xero/xero.d.ts +2 -2
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +2 -2
- package/dist/bubbles/tool-bubble/app-rankings-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +10 -10
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +12 -12
- package/dist/bubbles/tool-bubble/people-search-tool.d.ts +34 -34
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +10 -10
- package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +4 -4
- package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +16 -16
- package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +2 -2
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +10 -10
- package/dist/bubbles.json +516 -2
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- 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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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?: ("
|
|
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?: ("
|
|
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?: ("
|
|
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?: ("
|
|
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 ";
|