@bubblelab/bubble-core 0.1.150 → 0.1.151
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 +76 -76
- package/dist/bubbles/service-bubble/agi-inc.d.ts +20 -20
- package/dist/bubbles/service-bubble/ai-agent.d.ts +74 -74
- package/dist/bubbles/service-bubble/airtable.d.ts +76 -76
- package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +2 -2
- package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +8 -8
- package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts +2 -2
- package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +22 -22
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-detail.d.ts +38 -38
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +52 -52
- package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +6 -6
- package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +12 -12
- package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +12 -12
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +126 -126
- package/dist/bubbles/service-bubble/apify/apify.d.ts +18 -18
- package/dist/bubbles/service-bubble/ashby/ashby.d.ts +2 -2
- package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +2 -2
- package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +38 -1
- package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/browserbase/browserbase.js +80 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.js.map +1 -1
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +34 -1
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js +30 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js.map +1 -1
- package/dist/bubbles/service-bubble/firecrawl.d.ts +334 -334
- package/dist/bubbles/service-bubble/followupboss.d.ts +4 -4
- package/dist/bubbles/service-bubble/github.d.ts +60 -60
- package/dist/bubbles/service-bubble/gmail.d.ts +164 -164
- package/dist/bubbles/service-bubble/google-calendar.d.ts +6 -6
- package/dist/bubbles/service-bubble/google-drive.d.ts +9 -9
- package/dist/bubbles/service-bubble/google-drive.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/google-drive.js +37 -1
- package/dist/bubbles/service-bubble/google-drive.js.map +1 -1
- package/dist/bubbles/service-bubble/http.d.ts +2 -2
- package/dist/bubbles/service-bubble/insforge-db.d.ts +8 -8
- package/dist/bubbles/service-bubble/jira/jira.d.ts +30 -30
- package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +36 -36
- package/dist/bubbles/service-bubble/notion/notion.d.ts +164 -164
- package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +8 -8
- package/dist/bubbles/service-bubble/postgresql.d.ts +8 -8
- package/dist/bubbles/service-bubble/resend.d.ts +4 -4
- package/dist/bubbles/service-bubble/salesforce/index.d.ts +4 -0
- package/dist/bubbles/service-bubble/salesforce/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/salesforce/index.js +4 -0
- package/dist/bubbles/service-bubble/salesforce/index.js.map +1 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.d.ts +1331 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.js +618 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.js.map +1 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.schema.d.ts +1445 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.schema.js +609 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.utils.d.ts +87 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.utils.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.utils.js +181 -0
- package/dist/bubbles/service-bubble/salesforce/salesforce.utils.js.map +1 -0
- package/dist/bubbles/service-bubble/slack/slack.d.ts +328 -328
- package/dist/bubbles/service-bubble/slack/slack.utils.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/slack/slack.utils.js +17 -2
- package/dist/bubbles/service-bubble/slack/slack.utils.js.map +1 -1
- package/dist/bubbles/service-bubble/stripe/stripe.d.ts +24 -24
- package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +28 -28
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +6 -6
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +8 -8
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.d.ts +66 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.js +484 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.types.d.ts +85 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.types.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.types.js +2 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.types.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-fallback-step.d.ts +27 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-fallback-step.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-fallback-step.js +77 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-fallback-step.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/index.d.ts +4 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/index.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/index.js +3 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/index.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.js +254 -195
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.d.ts +2 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.js +346 -229
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.d.ts +34 -33
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.js +212 -151
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.d.ts +33 -32
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.js +188 -127
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +20 -20
- package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +380 -380
- package/dist/bubbles/tool-bubble/people-search-tool.d.ts +44 -44
- 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/sql-query-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +60 -60
- package/dist/bubbles/tool-bubble/twitter-tool.d.ts +134 -134
- package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts +20 -20
- package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +12 -12
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +8 -8
- package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +2 -2
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +18 -18
- package/dist/bubbles.json +73 -2
- package/package.json +1 -1
|
@@ -1,32 +1,33 @@
|
|
|
1
1
|
import { ToolBubble } from '../../../../types/tool-bubble-class.js';
|
|
2
2
|
import type { BubbleContext } from '../../../../types/bubble.js';
|
|
3
3
|
import { CredentialType } from '@bubblelab/shared-schemas';
|
|
4
|
+
import { z } from 'zod';
|
|
4
5
|
import { type LinkedInSentInvitationsToolParamsInput, type LinkedInSentInvitationsToolResult } from './schema.js';
|
|
5
6
|
export declare class LinkedInSentInvitationsTool<T extends LinkedInSentInvitationsToolParamsInput = LinkedInSentInvitationsToolParamsInput> extends ToolBubble<T, LinkedInSentInvitationsToolResult> {
|
|
6
7
|
static readonly bubbleName: "linkedin-sent-invitations-tool";
|
|
7
|
-
static readonly schema:
|
|
8
|
-
operation:
|
|
9
|
-
credentials:
|
|
10
|
-
proxy:
|
|
11
|
-
type:
|
|
12
|
-
}, "strip",
|
|
8
|
+
static readonly schema: z.ZodObject<{
|
|
9
|
+
operation: z.ZodEnum<["get_sent_invitations"]>;
|
|
10
|
+
credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
|
|
11
|
+
proxy: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
|
|
12
|
+
type: z.ZodEnum<["none"]>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
14
|
type: "none";
|
|
14
15
|
}, {
|
|
15
16
|
type: "none";
|
|
16
|
-
}>,
|
|
17
|
-
type:
|
|
18
|
-
}, "strip",
|
|
17
|
+
}>, z.ZodObject<{
|
|
18
|
+
type: z.ZodEnum<["browserbase"]>;
|
|
19
|
+
}, "strip", z.ZodTypeAny, {
|
|
19
20
|
type: "browserbase";
|
|
20
21
|
}, {
|
|
21
22
|
type: "browserbase";
|
|
22
|
-
}>,
|
|
23
|
-
type:
|
|
24
|
-
proxy:
|
|
25
|
-
id:
|
|
26
|
-
server:
|
|
27
|
-
username:
|
|
28
|
-
password:
|
|
29
|
-
}, "strip",
|
|
23
|
+
}>, z.ZodObject<{
|
|
24
|
+
type: z.ZodEnum<["custom"]>;
|
|
25
|
+
proxy: z.ZodObject<{
|
|
26
|
+
id: z.ZodString;
|
|
27
|
+
server: z.ZodString;
|
|
28
|
+
username: z.ZodOptional<z.ZodString>;
|
|
29
|
+
password: z.ZodOptional<z.ZodString>;
|
|
30
|
+
}, "strip", z.ZodTypeAny, {
|
|
30
31
|
id: string;
|
|
31
32
|
server: string;
|
|
32
33
|
password?: string | undefined;
|
|
@@ -37,7 +38,7 @@ export declare class LinkedInSentInvitationsTool<T extends LinkedInSentInvitatio
|
|
|
37
38
|
password?: string | undefined;
|
|
38
39
|
username?: string | undefined;
|
|
39
40
|
}>;
|
|
40
|
-
}, "strip",
|
|
41
|
+
}, "strip", z.ZodTypeAny, {
|
|
41
42
|
type: "custom";
|
|
42
43
|
proxy: {
|
|
43
44
|
id: string;
|
|
@@ -54,7 +55,7 @@ export declare class LinkedInSentInvitationsTool<T extends LinkedInSentInvitatio
|
|
|
54
55
|
username?: string | undefined;
|
|
55
56
|
};
|
|
56
57
|
}>]>>;
|
|
57
|
-
}, "strip",
|
|
58
|
+
}, "strip", z.ZodTypeAny, {
|
|
58
59
|
operation: "get_sent_invitations";
|
|
59
60
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
60
61
|
proxy?: {
|
|
@@ -87,15 +88,15 @@ export declare class LinkedInSentInvitationsTool<T extends LinkedInSentInvitatio
|
|
|
87
88
|
};
|
|
88
89
|
} | undefined;
|
|
89
90
|
}>;
|
|
90
|
-
static readonly resultSchema:
|
|
91
|
-
operation:
|
|
92
|
-
success:
|
|
93
|
-
invitations:
|
|
94
|
-
name:
|
|
95
|
-
headline:
|
|
96
|
-
sent_date:
|
|
97
|
-
profile_url:
|
|
98
|
-
}, "strip",
|
|
91
|
+
static readonly resultSchema: z.ZodObject<{
|
|
92
|
+
operation: z.ZodEnum<["get_sent_invitations"]>;
|
|
93
|
+
success: z.ZodBoolean;
|
|
94
|
+
invitations: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
95
|
+
name: z.ZodString;
|
|
96
|
+
headline: z.ZodOptional<z.ZodString>;
|
|
97
|
+
sent_date: z.ZodString;
|
|
98
|
+
profile_url: z.ZodOptional<z.ZodString>;
|
|
99
|
+
}, "strip", z.ZodTypeAny, {
|
|
99
100
|
name: string;
|
|
100
101
|
sent_date: string;
|
|
101
102
|
headline?: string | undefined;
|
|
@@ -106,10 +107,10 @@ export declare class LinkedInSentInvitationsTool<T extends LinkedInSentInvitatio
|
|
|
106
107
|
headline?: string | undefined;
|
|
107
108
|
profile_url?: string | undefined;
|
|
108
109
|
}>, "many">>;
|
|
109
|
-
total_count:
|
|
110
|
-
message:
|
|
111
|
-
error:
|
|
112
|
-
}, "strip",
|
|
110
|
+
total_count: z.ZodOptional<z.ZodNumber>;
|
|
111
|
+
message: z.ZodOptional<z.ZodString>;
|
|
112
|
+
error: z.ZodString;
|
|
113
|
+
}, "strip", z.ZodTypeAny, {
|
|
113
114
|
error: string;
|
|
114
115
|
success: boolean;
|
|
115
116
|
operation: "get_sent_invitations";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../../../src/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../../../src/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAMjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAIL,KAAK,sCAAsC,EAC3C,KAAK,iCAAiC,EAEvC,MAAM,aAAa,CAAC;AAErB,qBAAa,2BAA2B,CACtC,CAAC,SACC,sCAAsC,GAAG,sCAAsC,CACjF,SAAQ,UAAU,CAAC,CAAC,EAAE,iCAAiC,CAAC;IACxD,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAG,gCAAgC,CAAU;IACvE,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAA2C;IACjE,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAA2C;IACvE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,kDACiB;IACjD,MAAM,CAAC,QAAQ,CAAC,eAAe,gGACgE;IAC/F,MAAM,CAAC,QAAQ,CAAC,KAAK,+BAA+B;IACpD,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAE9B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,OAAO,CAA4B;gBAGzC,MAAM,GAAE,CAA8C,EACtD,OAAO,CAAC,EAAE,aAAa;IAKzB,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;YAOlC,uBAAuB;YAoCvB,6BAA6B;YAqB7B,0BAA0B;YAwB1B,sBAAsB;YAsFtB,qBAAqB;YAYrB,QAAQ;YAaR,eAAe;IAiBvB,aAAa,IAAI,OAAO,CAAC,iCAAiC,CAAC;CA4BlE"}
|
|
@@ -1,71 +1,130 @@
|
|
|
1
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
2
|
+
var useValue = arguments.length > 2;
|
|
3
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
4
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
5
|
+
}
|
|
6
|
+
return useValue ? value : void 0;
|
|
7
|
+
};
|
|
8
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
9
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
10
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
11
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
12
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
13
|
+
var _, done = false;
|
|
14
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
15
|
+
var context = {};
|
|
16
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
17
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
18
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
19
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
20
|
+
if (kind === "accessor") {
|
|
21
|
+
if (result === void 0) continue;
|
|
22
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
23
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
24
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
25
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
26
|
+
}
|
|
27
|
+
else if (_ = accept(result)) {
|
|
28
|
+
if (kind === "field") initializers.unshift(_);
|
|
29
|
+
else descriptor[key] = _;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
33
|
+
done = true;
|
|
34
|
+
};
|
|
1
35
|
import { ToolBubble } from '../../../../types/tool-bubble-class.js';
|
|
36
|
+
import { AIFallbackStep } from '../_shared/ai/ai-fallback-step.js';
|
|
2
37
|
import { BrowserBaseBubble, } from '../../../service-bubble/browserbase/index.js';
|
|
3
38
|
import { CredentialType } from '@bubblelab/shared-schemas';
|
|
39
|
+
import { z } from 'zod';
|
|
4
40
|
import { parseBrowserSessionData, buildProxyConfig } from '../_shared/utils.js';
|
|
5
|
-
import { LinkedInSentInvitationsToolParamsSchema, LinkedInSentInvitationsToolResultSchema, } from './schema.js';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
this.contextId = sessionData.contextId;
|
|
30
|
-
this.cookies = sessionData.cookies;
|
|
41
|
+
import { LinkedInSentInvitationsToolParamsSchema, LinkedInSentInvitationsToolResultSchema, SentInvitationInfoSchema, } from './schema.js';
|
|
42
|
+
let LinkedInSentInvitationsTool = (() => {
|
|
43
|
+
let _classSuper = ToolBubble;
|
|
44
|
+
let _instanceExtraInitializers = [];
|
|
45
|
+
let _stepNavigateToSentInvitations_decorators;
|
|
46
|
+
let _stepWaitForInvitationsPage_decorators;
|
|
47
|
+
let _stepExtractInvitations_decorators;
|
|
48
|
+
return class LinkedInSentInvitationsTool extends _classSuper {
|
|
49
|
+
static {
|
|
50
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
51
|
+
_stepNavigateToSentInvitations_decorators = [AIFallbackStep('Navigate to sent invitations', {
|
|
52
|
+
taskDescription: 'Navigate to the LinkedIn sent invitations page',
|
|
53
|
+
})];
|
|
54
|
+
_stepWaitForInvitationsPage_decorators = [AIFallbackStep('Wait for invitations to load', {
|
|
55
|
+
taskDescription: 'Wait for the sent invitations list to load',
|
|
56
|
+
})];
|
|
57
|
+
_stepExtractInvitations_decorators = [AIFallbackStep('Extract sent invitations', {
|
|
58
|
+
taskDescription: 'Extract all sent connection invitations',
|
|
59
|
+
extractionSchema: z.array(SentInvitationInfoSchema),
|
|
60
|
+
})];
|
|
61
|
+
__esDecorate(this, null, _stepNavigateToSentInvitations_decorators, { kind: "method", name: "stepNavigateToSentInvitations", static: false, private: false, access: { has: obj => "stepNavigateToSentInvitations" in obj, get: obj => obj.stepNavigateToSentInvitations }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
62
|
+
__esDecorate(this, null, _stepWaitForInvitationsPage_decorators, { kind: "method", name: "stepWaitForInvitationsPage", static: false, private: false, access: { has: obj => "stepWaitForInvitationsPage" in obj, get: obj => obj.stepWaitForInvitationsPage }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
63
|
+
__esDecorate(this, null, _stepExtractInvitations_decorators, { kind: "method", name: "stepExtractInvitations", static: false, private: false, access: { has: obj => "stepExtractInvitations" in obj, get: obj => obj.stepExtractInvitations }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
64
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
31
65
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
66
|
+
static bubbleName = 'linkedin-sent-invitations-tool';
|
|
67
|
+
static schema = LinkedInSentInvitationsToolParamsSchema;
|
|
68
|
+
static resultSchema = LinkedInSentInvitationsToolResultSchema;
|
|
69
|
+
static shortDescription = 'Extract sent LinkedIn connection invitations';
|
|
70
|
+
static longDescription = 'Recordable LinkedIn Sent Invitations Tool for extracting pending sent connection requests.';
|
|
71
|
+
static alias = 'linkedin-sent-invitations';
|
|
72
|
+
static type = 'tool';
|
|
73
|
+
sessionId = (__runInitializers(this, _instanceExtraInitializers), null);
|
|
74
|
+
contextId = null;
|
|
75
|
+
cookies = null;
|
|
76
|
+
constructor(params = { operation: 'get_sent_invitations' }, context) {
|
|
77
|
+
super(params, context);
|
|
44
78
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
79
|
+
chooseCredential() {
|
|
80
|
+
const { credentials } = this.params;
|
|
81
|
+
return credentials?.[CredentialType.LINKEDIN_CRED];
|
|
82
|
+
}
|
|
83
|
+
async stepStartBrowserSession() {
|
|
84
|
+
if (this.sessionId)
|
|
85
|
+
return;
|
|
86
|
+
const sessionData = parseBrowserSessionData(this.chooseCredential());
|
|
87
|
+
if (sessionData) {
|
|
88
|
+
this.contextId = sessionData.contextId;
|
|
89
|
+
this.cookies = sessionData.cookies;
|
|
90
|
+
}
|
|
91
|
+
const proxyConfig = buildProxyConfig(this.params.proxy);
|
|
92
|
+
const browserbase = new BrowserBaseBubble({
|
|
93
|
+
operation: 'start_session',
|
|
94
|
+
context_id: this.contextId || undefined,
|
|
95
|
+
cookies: this.cookies || undefined,
|
|
96
|
+
credentials: this.params.credentials,
|
|
97
|
+
stealth: { solveCaptchas: true },
|
|
98
|
+
...proxyConfig,
|
|
99
|
+
}, this.context, 'startsession');
|
|
100
|
+
const result = await browserbase.action();
|
|
101
|
+
if (!result.data.success || !result.data.session_id) {
|
|
102
|
+
throw new Error(result.data.error || 'Failed to start browser session');
|
|
103
|
+
}
|
|
104
|
+
this.sessionId = result.data.session_id;
|
|
105
|
+
if (result.data.context_id)
|
|
106
|
+
this.contextId = result.data.context_id;
|
|
107
|
+
console.log(`[RecordableSentInvitations] Session started: ${this.sessionId}`);
|
|
108
|
+
const ip = await this.detectIPAddress();
|
|
109
|
+
if (ip)
|
|
110
|
+
console.log(`[RecordableSentInvitations] Browser IP: ${ip}`);
|
|
111
|
+
}
|
|
112
|
+
async stepNavigateToSentInvitations() {
|
|
113
|
+
if (!this.sessionId)
|
|
114
|
+
throw new Error('No active session');
|
|
115
|
+
const browserbase = new BrowserBaseBubble({
|
|
116
|
+
operation: 'navigate',
|
|
117
|
+
session_id: this.sessionId,
|
|
118
|
+
url: 'https://www.linkedin.com/mynetwork/invitation-manager/sent/',
|
|
119
|
+
wait_until: 'domcontentloaded',
|
|
120
|
+
timeout: 30000,
|
|
121
|
+
}, this.context, 'navigate');
|
|
122
|
+
const result = await browserbase.action();
|
|
123
|
+
if (!result.data.success)
|
|
124
|
+
throw new Error(result.data.error || 'Navigation failed');
|
|
125
|
+
}
|
|
126
|
+
async stepWaitForInvitationsPage() {
|
|
127
|
+
const checkScript = `(() => {
|
|
69
128
|
const buttons = document.querySelectorAll('button');
|
|
70
129
|
let sentTabFound = false, hasInvitations = false;
|
|
71
130
|
for (const btn of buttons) {
|
|
@@ -76,16 +135,16 @@ export class LinkedInSentInvitationsTool extends ToolBubble {
|
|
|
76
135
|
const peopleLabel = document.body.innerText.match(/People\\s*\\(\\d+\\)/i);
|
|
77
136
|
return sentTabFound && (hasInvitations || peopleLabel);
|
|
78
137
|
})()`;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
138
|
+
for (let attempt = 1; attempt <= 15; attempt++) {
|
|
139
|
+
const found = await this.evaluate(checkScript);
|
|
140
|
+
if (found)
|
|
141
|
+
return true;
|
|
142
|
+
await new Promise((r) => setTimeout(r, 1000));
|
|
143
|
+
}
|
|
144
|
+
return false;
|
|
84
145
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
async stepExtractInvitations() {
|
|
88
|
-
const result = (await this.evaluate(`
|
|
146
|
+
async stepExtractInvitations() {
|
|
147
|
+
const result = (await this.evaluate(`
|
|
89
148
|
(() => {
|
|
90
149
|
const invitations = [];
|
|
91
150
|
const withdrawButtons = Array.from(document.querySelectorAll('button')).filter(btn =>
|
|
@@ -164,30 +223,30 @@ export class LinkedInSentInvitationsTool extends ToolBubble {
|
|
|
164
223
|
return { invitations, total };
|
|
165
224
|
})()
|
|
166
225
|
`));
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
226
|
+
return result;
|
|
227
|
+
}
|
|
228
|
+
async stepEndBrowserSession() {
|
|
229
|
+
if (!this.sessionId)
|
|
230
|
+
return;
|
|
231
|
+
const browserbase = new BrowserBaseBubble({ operation: 'end_session', session_id: this.sessionId }, this.context, 'endsession');
|
|
232
|
+
await browserbase.action();
|
|
233
|
+
console.log(`[RecordableSentInvitations] Session ended: ${this.sessionId}`);
|
|
234
|
+
this.sessionId = null;
|
|
235
|
+
}
|
|
236
|
+
async evaluate(script) {
|
|
237
|
+
if (!this.sessionId)
|
|
238
|
+
throw new Error('No active session');
|
|
239
|
+
const browserbase = new BrowserBaseBubble({ operation: 'evaluate', session_id: this.sessionId, script }, this.context, 'evaluate');
|
|
240
|
+
const result = await browserbase.action();
|
|
241
|
+
if (!result.data.success)
|
|
242
|
+
throw new Error(result.data.error || 'Evaluation failed');
|
|
243
|
+
return result.data.result;
|
|
244
|
+
}
|
|
245
|
+
async detectIPAddress() {
|
|
246
|
+
if (!this.sessionId)
|
|
247
|
+
return null;
|
|
248
|
+
try {
|
|
249
|
+
return (await this.evaluate(`
|
|
191
250
|
(async () => {
|
|
192
251
|
try {
|
|
193
252
|
const r = await fetch('https://api.ipify.org?format=json');
|
|
@@ -196,38 +255,40 @@ export class LinkedInSentInvitationsTool extends ToolBubble {
|
|
|
196
255
|
} catch { return null; }
|
|
197
256
|
})()
|
|
198
257
|
`));
|
|
258
|
+
}
|
|
259
|
+
catch {
|
|
260
|
+
return null;
|
|
261
|
+
}
|
|
199
262
|
}
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
finally {
|
|
229
|
-
await this.stepEndBrowserSession();
|
|
263
|
+
async performAction() {
|
|
264
|
+
try {
|
|
265
|
+
await this.stepStartBrowserSession();
|
|
266
|
+
await this.stepNavigateToSentInvitations();
|
|
267
|
+
const pageReady = await this.stepWaitForInvitationsPage();
|
|
268
|
+
if (!pageReady)
|
|
269
|
+
console.log('[RecordableSentInvitations] Page slow to load, continuing');
|
|
270
|
+
const { invitations, total } = await this.stepExtractInvitations();
|
|
271
|
+
return {
|
|
272
|
+
operation: 'get_sent_invitations',
|
|
273
|
+
success: true,
|
|
274
|
+
invitations,
|
|
275
|
+
total_count: total,
|
|
276
|
+
message: `Found ${invitations.length} sent invitations`,
|
|
277
|
+
error: '',
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
catch (error) {
|
|
281
|
+
return {
|
|
282
|
+
operation: 'get_sent_invitations',
|
|
283
|
+
success: false,
|
|
284
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
finally {
|
|
288
|
+
await this.stepEndBrowserSession();
|
|
289
|
+
}
|
|
230
290
|
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
291
|
+
};
|
|
292
|
+
})();
|
|
293
|
+
export { LinkedInSentInvitationsTool };
|
|
233
294
|
//# sourceMappingURL=tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../../../src/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAEpE,OAAO,EACL,iBAAiB,GAElB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EACL,uCAAuC,EACvC,uCAAuC,
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../../../src/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EACL,iBAAiB,GAElB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EACL,uCAAuC,EACvC,uCAAuC,EACvC,wBAAwB,GAIzB,MAAM,aAAa,CAAC;IAER,2BAA2B;sBAG9B,UAAU;;;;;iBAHP,2BAGX,SAAQ,WAAgD;;;yDA8DvD,cAAc,CAAC,8BAA8B,EAAE;oBAC9C,eAAe,EAAE,gDAAgD;iBAClE,CAAC;sDAmBD,cAAc,CAAC,8BAA8B,EAAE;oBAC9C,eAAe,EAAE,4CAA4C;iBAC9D,CAAC;kDAqBD,cAAc,CAAC,0BAA0B,EAAE;oBAC1C,eAAe,EAAE,yCAAyC;oBAC1D,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;iBACpD,CAAC;YA5CF,0OAAc,6BAA6B,6DAgB1C;YAKD,iOAAc,0BAA0B,6DAkBvC;YAMD,qNAAc,sBAAsB,6DAoFnC;;;QAjMD,MAAM,CAAU,UAAU,GAAG,gCAAyC,CAAC;QACvE,MAAM,CAAU,MAAM,GAAG,uCAAuC,CAAC;QACjE,MAAM,CAAU,YAAY,GAAG,uCAAuC,CAAC;QACvE,MAAM,CAAU,gBAAgB,GAC9B,8CAA8C,CAAC;QACjD,MAAM,CAAU,eAAe,GAC7B,4FAA4F,CAAC;QAC/F,MAAM,CAAU,KAAK,GAAG,2BAA2B,CAAC;QACpD,MAAM,CAAU,IAAI,GAAG,MAAM,CAAC;QAEtB,SAAS,IAdN,mDAA2B,EAcH,IAAI,EAAC;QAChC,SAAS,GAAkB,IAAI,CAAC;QAChC,OAAO,GAAuB,IAAI,CAAC;QAE3C,YACE,SAAY,EAAE,SAAS,EAAE,sBAAsB,EAAO,EACtD,OAAuB;YAEvB,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzB,CAAC;QAES,gBAAgB;YACxB,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAE5B,CAAC;YACF,OAAO,WAAW,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACrD,CAAC;QAEO,KAAK,CAAC,uBAAuB;YACnC,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO;YAC3B,MAAM,WAAW,GAAG,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACrE,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;gBACvC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;YACrC,CAAC;YACD,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,IAAI,iBAAiB,CACvC;gBACE,SAAS,EAAE,eAAwB;gBACnC,UAAU,EAAE,IAAI,CAAC,SAAS,IAAI,SAAS;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS;gBAClC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBACpC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;gBAChC,GAAG,WAAW;aACf,EACD,IAAI,CAAC,OAAO,EACZ,cAAc,CACf,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,iCAAiC,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YACxC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YACpE,OAAO,CAAC,GAAG,CACT,gDAAgD,IAAI,CAAC,SAAS,EAAE,CACjE,CAAC;YACF,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,IAAI,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC;QAKO,KAAK,CAAC,6BAA6B;YACzC,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,IAAI,iBAAiB,CACvC;gBACE,SAAS,EAAE,UAAmB;gBAC9B,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,GAAG,EAAE,6DAA6D;gBAClE,UAAU,EAAE,kBAAkB;gBAC9B,OAAO,EAAE,KAAK;aACf,EACD,IAAI,CAAC,OAAO,EACZ,UAAU,CACX,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;gBACtB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;QAC9D,CAAC;QAKO,KAAK,CAAC,0BAA0B;YACtC,MAAM,WAAW,GAAG;;;;;;;;;;SAUf,CAAC;YACN,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;gBAC/C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC/C,IAAI,KAAK;oBAAE,OAAO,IAAI,CAAC;gBACvB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAMO,KAAK,CAAC,sBAAsB;YAIlC,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8EnC,CAAC,CAAyD,CAAC;YAC5D,OAAO,MAAM,CAAC;QAChB,CAAC;QAEO,KAAK,CAAC,qBAAqB;YACjC,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,OAAO;YAC5B,MAAM,WAAW,GAAG,IAAI,iBAAiB,CACvC,EAAE,SAAS,EAAE,aAAsB,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EACjE,IAAI,CAAC,OAAO,EACZ,YAAY,CACb,CAAC;YACF,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,8CAA8C,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAC5E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QAEO,KAAK,CAAC,QAAQ,CAAC,MAAc;YACnC,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,IAAI,iBAAiB,CACvC,EAAE,SAAS,EAAE,UAAmB,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,EACtE,IAAI,CAAC,OAAO,EACZ,UAAU,CACX,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;gBACtB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;YAC5D,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QAEO,KAAK,CAAC,eAAe;YAC3B,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YACjC,IAAI,CAAC;gBACH,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC;;;;;;;;OAQ3B,CAAC,CAAkB,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,KAAK,CAAC,aAAa;YACjB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBAC3C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAC1D,IAAI,CAAC,SAAS;oBACZ,OAAO,CAAC,GAAG,CACT,2DAA2D,CAC5D,CAAC;gBACJ,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACnE,OAAO;oBACL,SAAS,EAAE,sBAAsB;oBACjC,OAAO,EAAE,IAAI;oBACb,WAAW;oBACX,WAAW,EAAE,KAAK;oBAClB,OAAO,EAAE,SAAS,WAAW,CAAC,MAAM,mBAAmB;oBACvD,KAAK,EAAE,EAAE;iBACV,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,SAAS,EAAE,sBAAsB;oBACjC,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAChE,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACrC,CAAC;QACH,CAAC;;;SA5QU,2BAA2B"}
|
|
@@ -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 ";
|