terse-types 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ApiRouteBuilder.d.ts +14 -0
- package/dist/ApiRoutes.json +14 -0
- package/dist/Configs.d.ts +104 -1
- package/dist/Configs.js +120 -4
- package/dist/Events.d.ts +112 -0
- package/dist/Events.js +32 -0
- package/dist/Integrations.d.ts +79 -1
- package/dist/Integrations.js +55 -2
- package/dist/InvalidationKeys.d.ts +3 -0
- package/dist/InvalidationKeys.js +5 -0
- package/dist/ToolDisplayUtils.js +169 -0
- package/dist/Tools.d.ts +7719 -3440
- package/dist/Tools.js +822 -1
- package/dist/TriggerProjections.d.ts +18 -0
- package/dist/TriggerProjections.js +167 -0
- package/dist/Triggers.d.ts +95 -0
- package/dist/Triggers.js +18 -2
- package/dist/types.d.ts +278 -0
- package/dist/types.js +9 -0
- package/package.json +1 -1
- package/dist/AttioRecordFlatten.d.ts +0 -19
- package/dist/AttioRecordFlatten.js +0 -71
- package/dist/OrganizationMetadata.d.ts +0 -6
- package/dist/OrganizationMetadata.js +0 -10
- package/dist/json-schema/terse-types.schema.json +0 -15994
package/dist/Integrations.d.ts
CHANGED
|
@@ -17,7 +17,10 @@ export declare enum IntegrationType {
|
|
|
17
17
|
ATTIO = "attio",
|
|
18
18
|
SNOWFLAKE = "snowflake",
|
|
19
19
|
WEBHOOK = "webhook",
|
|
20
|
-
WEBMONITOR = "webmonitor"
|
|
20
|
+
WEBMONITOR = "webmonitor",
|
|
21
|
+
GOOGLE_SEARCH_CONSOLE = "google_search_console",
|
|
22
|
+
META_ADS = "meta_ads",
|
|
23
|
+
HIGGSFIELD = "higgsfield"
|
|
21
24
|
}
|
|
22
25
|
export declare const integrationTypeEnum: z.ZodEnum<typeof IntegrationType>;
|
|
23
26
|
export declare const BUILT_IN_INTEGRATION_TYPES: readonly [IntegrationType.TERSE, IntegrationType.CRON_JOB, IntegrationType.WEBHOOK, IntegrationType.WEBMONITOR];
|
|
@@ -40,6 +43,13 @@ export declare const GmailIntegrationMetadata: {
|
|
|
40
43
|
readonly isInput: true;
|
|
41
44
|
readonly isOutput: false;
|
|
42
45
|
};
|
|
46
|
+
export declare const GoogleSearchConsoleIntegrationMetadata: {
|
|
47
|
+
readonly type: IntegrationType.GOOGLE_SEARCH_CONSOLE;
|
|
48
|
+
readonly name: "Google Search Console";
|
|
49
|
+
readonly description: "Read Search Analytics and manage sites and sitemaps";
|
|
50
|
+
readonly isInput: false;
|
|
51
|
+
readonly isOutput: true;
|
|
52
|
+
};
|
|
43
53
|
export declare const NotionIntegrationMetadata: {
|
|
44
54
|
readonly type: IntegrationType.NOTION;
|
|
45
55
|
readonly name: "Notion";
|
|
@@ -145,6 +155,13 @@ export declare const HeyReachIntegrationMetadata: {
|
|
|
145
155
|
readonly isInput: true;
|
|
146
156
|
readonly isOutput: false;
|
|
147
157
|
};
|
|
158
|
+
export declare const MetaAdsIntegrationMetadata: {
|
|
159
|
+
readonly type: IntegrationType.META_ADS;
|
|
160
|
+
readonly name: "Meta Ads";
|
|
161
|
+
readonly description: "Read ad performance, sync custom audiences, and send offline conversions to Meta Ads";
|
|
162
|
+
readonly isInput: false;
|
|
163
|
+
readonly isOutput: true;
|
|
164
|
+
};
|
|
148
165
|
export declare const ResendIntegrationMetadata: {
|
|
149
166
|
readonly type: IntegrationType.RESEND;
|
|
150
167
|
readonly name: "Resend";
|
|
@@ -152,6 +169,13 @@ export declare const ResendIntegrationMetadata: {
|
|
|
152
169
|
readonly isInput: false;
|
|
153
170
|
readonly isOutput: true;
|
|
154
171
|
};
|
|
172
|
+
export declare const HiggsfieldIntegrationMetadata: {
|
|
173
|
+
readonly type: IntegrationType.HIGGSFIELD;
|
|
174
|
+
readonly name: "Higgsfield";
|
|
175
|
+
readonly description: "Generate ad creative images and animate them into video with Higgsfield";
|
|
176
|
+
readonly isInput: false;
|
|
177
|
+
readonly isOutput: true;
|
|
178
|
+
};
|
|
155
179
|
export declare const ApolloIntegrationMetadata: {
|
|
156
180
|
readonly type: IntegrationType.APOLLO;
|
|
157
181
|
readonly name: "Apollo";
|
|
@@ -177,6 +201,7 @@ export declare const InstallationOptionsSchemas: {
|
|
|
177
201
|
isBotUser: z.ZodBoolean;
|
|
178
202
|
}, z.core.$strict>;
|
|
179
203
|
readonly gmail: z.ZodObject<{}, z.core.$strict>;
|
|
204
|
+
readonly google_search_console: z.ZodObject<{}, z.core.$strict>;
|
|
180
205
|
readonly notion: z.ZodObject<{}, z.core.$strict>;
|
|
181
206
|
readonly linear: z.ZodObject<{}, z.core.$strict>;
|
|
182
207
|
readonly github: z.ZodObject<{}, z.core.$strict>;
|
|
@@ -193,6 +218,8 @@ export declare const InstallationOptionsSchemas: {
|
|
|
193
218
|
readonly hey_reach: z.ZodObject<{}, z.core.$strict>;
|
|
194
219
|
readonly resend: z.ZodObject<{}, z.core.$strict>;
|
|
195
220
|
readonly apollo: z.ZodObject<{}, z.core.$strict>;
|
|
221
|
+
readonly meta_ads: z.ZodObject<{}, z.core.$strict>;
|
|
222
|
+
readonly higgsfield: z.ZodObject<{}, z.core.$strict>;
|
|
196
223
|
};
|
|
197
224
|
export type InstallationOptionsFor<T extends IntegrationType> = z.infer<(typeof InstallationOptionsSchemas)[T]>;
|
|
198
225
|
export declare const SlackIntegrationSchema: z.ZodObject<{
|
|
@@ -209,6 +236,40 @@ export declare const GmailIntegrationSchema: z.ZodObject<{
|
|
|
209
236
|
watchExpiration: z.ZodOptional<z.ZodDate>;
|
|
210
237
|
}, z.core.$strip>;
|
|
211
238
|
export type GmailIntegration = z.infer<typeof GmailIntegrationSchema>;
|
|
239
|
+
export declare const GoogleSearchConsoleIntegrationSchema: z.ZodObject<{
|
|
240
|
+
id: z.ZodString;
|
|
241
|
+
email: z.ZodEmail;
|
|
242
|
+
googleAccountId: z.ZodString;
|
|
243
|
+
}, z.core.$strip>;
|
|
244
|
+
export type GoogleSearchConsoleIntegration = z.infer<typeof GoogleSearchConsoleIntegrationSchema>;
|
|
245
|
+
export declare const googleSearchConsolePermissionLevelSchema: z.ZodEnum<{
|
|
246
|
+
siteFullUser: "siteFullUser";
|
|
247
|
+
siteOwner: "siteOwner";
|
|
248
|
+
siteRestrictedUser: "siteRestrictedUser";
|
|
249
|
+
siteUnverifiedUser: "siteUnverifiedUser";
|
|
250
|
+
}>;
|
|
251
|
+
export declare const googleSearchConsoleSiteSchema: z.ZodObject<{
|
|
252
|
+
siteUrl: z.ZodString;
|
|
253
|
+
permissionLevel: z.ZodEnum<{
|
|
254
|
+
siteFullUser: "siteFullUser";
|
|
255
|
+
siteOwner: "siteOwner";
|
|
256
|
+
siteRestrictedUser: "siteRestrictedUser";
|
|
257
|
+
siteUnverifiedUser: "siteUnverifiedUser";
|
|
258
|
+
}>;
|
|
259
|
+
}, z.core.$strip>;
|
|
260
|
+
export type GoogleSearchConsoleSite = z.infer<typeof googleSearchConsoleSiteSchema>;
|
|
261
|
+
export declare const googleSearchConsoleSitesResponseSchema: z.ZodObject<{
|
|
262
|
+
sites: z.ZodArray<z.ZodObject<{
|
|
263
|
+
siteUrl: z.ZodString;
|
|
264
|
+
permissionLevel: z.ZodEnum<{
|
|
265
|
+
siteFullUser: "siteFullUser";
|
|
266
|
+
siteOwner: "siteOwner";
|
|
267
|
+
siteRestrictedUser: "siteRestrictedUser";
|
|
268
|
+
siteUnverifiedUser: "siteUnverifiedUser";
|
|
269
|
+
}>;
|
|
270
|
+
}, z.core.$strip>>;
|
|
271
|
+
}, z.core.$strip>;
|
|
272
|
+
export type GoogleSearchConsoleSitesResponse = z.infer<typeof googleSearchConsoleSitesResponseSchema>;
|
|
212
273
|
export declare const NotionIntegrationSchema: z.ZodObject<{
|
|
213
274
|
id: z.ZodString;
|
|
214
275
|
workspaceId: z.ZodOptional<z.ZodString>;
|
|
@@ -240,6 +301,10 @@ export declare const ResendIntegrationSchema: z.ZodObject<{
|
|
|
240
301
|
id: z.ZodString;
|
|
241
302
|
}, z.core.$strip>;
|
|
242
303
|
export type ResendIntegration = z.infer<typeof ResendIntegrationSchema>;
|
|
304
|
+
export declare const HiggsfieldIntegrationSchema: z.ZodObject<{
|
|
305
|
+
id: z.ZodString;
|
|
306
|
+
}, z.core.$strip>;
|
|
307
|
+
export type HiggsfieldIntegration = z.infer<typeof HiggsfieldIntegrationSchema>;
|
|
243
308
|
export declare const ApolloIntegrationSchema: z.ZodObject<{
|
|
244
309
|
id: z.ZodString;
|
|
245
310
|
}, z.core.$strip>;
|
|
@@ -302,6 +367,19 @@ export declare const SnowflakeIntegrationSchema: z.ZodObject<{
|
|
|
302
367
|
schemaName: z.ZodOptional<z.ZodString>;
|
|
303
368
|
}, z.core.$strip>;
|
|
304
369
|
export type SnowflakeIntegration = z.infer<typeof SnowflakeIntegrationSchema>;
|
|
370
|
+
export declare const MetaAdsIntegrationSchema: z.ZodObject<{
|
|
371
|
+
id: z.ZodString;
|
|
372
|
+
accountName: z.ZodOptional<z.ZodString>;
|
|
373
|
+
}, z.core.$strip>;
|
|
374
|
+
export type MetaAdsIntegration = z.infer<typeof MetaAdsIntegrationSchema>;
|
|
375
|
+
export declare const MetaAdsAdAccountSchema: z.ZodObject<{
|
|
376
|
+
id: z.ZodString;
|
|
377
|
+
accountId: z.ZodString;
|
|
378
|
+
name: z.ZodString;
|
|
379
|
+
currency: z.ZodOptional<z.ZodString>;
|
|
380
|
+
accountStatus: z.ZodOptional<z.ZodNumber>;
|
|
381
|
+
}, z.core.$strip>;
|
|
382
|
+
export type MetaAdsAdAccount = z.infer<typeof MetaAdsAdAccountSchema>;
|
|
305
383
|
export declare const CliIntegrationDisplayStateSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
306
384
|
status: z.ZodLiteral<"not_connected">;
|
|
307
385
|
}, z.core.$strip>, z.ZodObject<{
|
package/dist/Integrations.js
CHANGED
|
@@ -20,6 +20,9 @@ export var IntegrationType;
|
|
|
20
20
|
IntegrationType["SNOWFLAKE"] = "snowflake";
|
|
21
21
|
IntegrationType["WEBHOOK"] = "webhook";
|
|
22
22
|
IntegrationType["WEBMONITOR"] = "webmonitor";
|
|
23
|
+
IntegrationType["GOOGLE_SEARCH_CONSOLE"] = "google_search_console";
|
|
24
|
+
IntegrationType["META_ADS"] = "meta_ads";
|
|
25
|
+
IntegrationType["HIGGSFIELD"] = "higgsfield";
|
|
23
26
|
})(IntegrationType || (IntegrationType = {}));
|
|
24
27
|
export const integrationTypeEnum = z.enum(IntegrationType);
|
|
25
28
|
export const BUILT_IN_INTEGRATION_TYPES = [IntegrationType.TERSE, IntegrationType.CRON_JOB, IntegrationType.WEBHOOK, IntegrationType.WEBMONITOR];
|
|
@@ -39,6 +42,13 @@ export const GmailIntegrationMetadata = {
|
|
|
39
42
|
isInput: true,
|
|
40
43
|
isOutput: false
|
|
41
44
|
};
|
|
45
|
+
export const GoogleSearchConsoleIntegrationMetadata = {
|
|
46
|
+
type: IntegrationType.GOOGLE_SEARCH_CONSOLE,
|
|
47
|
+
name: "Google Search Console",
|
|
48
|
+
description: "Read Search Analytics and manage sites and sitemaps",
|
|
49
|
+
isInput: false,
|
|
50
|
+
isOutput: true
|
|
51
|
+
};
|
|
42
52
|
export const NotionIntegrationMetadata = {
|
|
43
53
|
type: IntegrationType.NOTION,
|
|
44
54
|
name: "Notion",
|
|
@@ -144,6 +154,13 @@ export const HeyReachIntegrationMetadata = {
|
|
|
144
154
|
isInput: true,
|
|
145
155
|
isOutput: false
|
|
146
156
|
};
|
|
157
|
+
export const MetaAdsIntegrationMetadata = {
|
|
158
|
+
type: IntegrationType.META_ADS,
|
|
159
|
+
name: "Meta Ads",
|
|
160
|
+
description: "Read ad performance, sync custom audiences, and send offline conversions to Meta Ads",
|
|
161
|
+
isInput: false,
|
|
162
|
+
isOutput: true
|
|
163
|
+
};
|
|
147
164
|
export const ResendIntegrationMetadata = {
|
|
148
165
|
type: IntegrationType.RESEND,
|
|
149
166
|
name: "Resend",
|
|
@@ -151,6 +168,13 @@ export const ResendIntegrationMetadata = {
|
|
|
151
168
|
isInput: false,
|
|
152
169
|
isOutput: true
|
|
153
170
|
};
|
|
171
|
+
export const HiggsfieldIntegrationMetadata = {
|
|
172
|
+
type: IntegrationType.HIGGSFIELD,
|
|
173
|
+
name: "Higgsfield",
|
|
174
|
+
description: "Generate ad creative images and animate them into video with Higgsfield",
|
|
175
|
+
isInput: false,
|
|
176
|
+
isOutput: true
|
|
177
|
+
};
|
|
154
178
|
export const ApolloIntegrationMetadata = {
|
|
155
179
|
type: IntegrationType.APOLLO,
|
|
156
180
|
name: "Apollo",
|
|
@@ -160,6 +184,7 @@ export const ApolloIntegrationMetadata = {
|
|
|
160
184
|
};
|
|
161
185
|
export const INTEGRATION_METADATA = {
|
|
162
186
|
[IntegrationType.GMAIL]: GmailIntegrationMetadata,
|
|
187
|
+
[IntegrationType.GOOGLE_SEARCH_CONSOLE]: GoogleSearchConsoleIntegrationMetadata,
|
|
163
188
|
[IntegrationType.NOTION]: NotionIntegrationMetadata,
|
|
164
189
|
[IntegrationType.LINEAR]: LinearIntegrationMetadata,
|
|
165
190
|
[IntegrationType.SLACK]: SlackIntegrationMetadata,
|
|
@@ -176,7 +201,9 @@ export const INTEGRATION_METADATA = {
|
|
|
176
201
|
[IntegrationType.WEBMONITOR]: WebMonitorIntegrationMetadata,
|
|
177
202
|
[IntegrationType.HEY_REACH]: HeyReachIntegrationMetadata,
|
|
178
203
|
[IntegrationType.RESEND]: ResendIntegrationMetadata,
|
|
179
|
-
[IntegrationType.APOLLO]: ApolloIntegrationMetadata
|
|
204
|
+
[IntegrationType.APOLLO]: ApolloIntegrationMetadata,
|
|
205
|
+
[IntegrationType.META_ADS]: MetaAdsIntegrationMetadata,
|
|
206
|
+
[IntegrationType.HIGGSFIELD]: HiggsfieldIntegrationMetadata
|
|
180
207
|
};
|
|
181
208
|
// MARK: Integration Details
|
|
182
209
|
export const IntegrationInstanceSchema = z.object({
|
|
@@ -193,6 +220,7 @@ export const SlackInstallationOptionsSchema = z
|
|
|
193
220
|
export const InstallationOptionsSchemas = {
|
|
194
221
|
[IntegrationType.SLACK]: SlackInstallationOptionsSchema,
|
|
195
222
|
[IntegrationType.GMAIL]: NoInstallationOptionsSchema,
|
|
223
|
+
[IntegrationType.GOOGLE_SEARCH_CONSOLE]: NoInstallationOptionsSchema,
|
|
196
224
|
[IntegrationType.NOTION]: NoInstallationOptionsSchema,
|
|
197
225
|
[IntegrationType.LINEAR]: NoInstallationOptionsSchema,
|
|
198
226
|
[IntegrationType.GITHUB]: NoInstallationOptionsSchema,
|
|
@@ -208,7 +236,9 @@ export const InstallationOptionsSchemas = {
|
|
|
208
236
|
[IntegrationType.WEBMONITOR]: NoInstallationOptionsSchema,
|
|
209
237
|
[IntegrationType.HEY_REACH]: NoInstallationOptionsSchema,
|
|
210
238
|
[IntegrationType.RESEND]: NoInstallationOptionsSchema,
|
|
211
|
-
[IntegrationType.APOLLO]: NoInstallationOptionsSchema
|
|
239
|
+
[IntegrationType.APOLLO]: NoInstallationOptionsSchema,
|
|
240
|
+
[IntegrationType.META_ADS]: NoInstallationOptionsSchema,
|
|
241
|
+
[IntegrationType.HIGGSFIELD]: NoInstallationOptionsSchema
|
|
212
242
|
};
|
|
213
243
|
export const SlackIntegrationSchema = IntegrationInstanceSchema.extend({
|
|
214
244
|
teamId: z.string().optional(),
|
|
@@ -220,6 +250,18 @@ export const GmailIntegrationSchema = IntegrationInstanceSchema.extend({
|
|
|
220
250
|
historyId: z.string().optional(),
|
|
221
251
|
watchExpiration: z.date().optional()
|
|
222
252
|
});
|
|
253
|
+
export const GoogleSearchConsoleIntegrationSchema = IntegrationInstanceSchema.extend({
|
|
254
|
+
email: z.email(),
|
|
255
|
+
googleAccountId: z.string()
|
|
256
|
+
});
|
|
257
|
+
export const googleSearchConsolePermissionLevelSchema = z.enum(["siteFullUser", "siteOwner", "siteRestrictedUser", "siteUnverifiedUser"]);
|
|
258
|
+
export const googleSearchConsoleSiteSchema = z.object({
|
|
259
|
+
siteUrl: z.string(),
|
|
260
|
+
permissionLevel: googleSearchConsolePermissionLevelSchema
|
|
261
|
+
});
|
|
262
|
+
export const googleSearchConsoleSitesResponseSchema = z.object({
|
|
263
|
+
sites: z.array(googleSearchConsoleSiteSchema)
|
|
264
|
+
});
|
|
223
265
|
export const NotionIntegrationSchema = IntegrationInstanceSchema.extend({
|
|
224
266
|
workspaceId: z.string().optional(),
|
|
225
267
|
workspaceName: z.string().optional()
|
|
@@ -237,6 +279,7 @@ export const PosthogIntegrationSchema = IntegrationInstanceSchema.extend({
|
|
|
237
279
|
});
|
|
238
280
|
export const HeyReachIntegrationSchema = IntegrationInstanceSchema;
|
|
239
281
|
export const ResendIntegrationSchema = IntegrationInstanceSchema;
|
|
282
|
+
export const HiggsfieldIntegrationSchema = IntegrationInstanceSchema;
|
|
240
283
|
export const ApolloIntegrationSchema = IntegrationInstanceSchema;
|
|
241
284
|
export const ResendTemplateVariableSchema = z.object({
|
|
242
285
|
key: z.string(),
|
|
@@ -271,6 +314,16 @@ export const SnowflakeIntegrationSchema = IntegrationInstanceSchema.extend({
|
|
|
271
314
|
databaseName: z.string().optional(),
|
|
272
315
|
schemaName: z.string().optional()
|
|
273
316
|
});
|
|
317
|
+
export const MetaAdsIntegrationSchema = IntegrationInstanceSchema.extend({
|
|
318
|
+
accountName: z.string().optional()
|
|
319
|
+
});
|
|
320
|
+
export const MetaAdsAdAccountSchema = z.object({
|
|
321
|
+
id: z.string(),
|
|
322
|
+
accountId: z.string(),
|
|
323
|
+
name: z.string(),
|
|
324
|
+
currency: z.string().optional(),
|
|
325
|
+
accountStatus: z.number().optional()
|
|
326
|
+
});
|
|
274
327
|
export const CliIntegrationDisplayStateSchema = z.discriminatedUnion("status", [
|
|
275
328
|
z.object({
|
|
276
329
|
status: z.literal("not_connected")
|
|
@@ -19,6 +19,7 @@ export declare const datadogIntegrationsKey: () => readonly [string];
|
|
|
19
19
|
export declare const githubRepositoriesKey: (installationId: number | null | undefined) => readonly [string, number] | null;
|
|
20
20
|
export declare const linearTeamsKey: (integrationId: string | null | undefined) => readonly [string, string] | null;
|
|
21
21
|
export declare const gmailIntegrationsKey: () => readonly [string];
|
|
22
|
+
export declare const googleSearchConsoleIntegrationsKey: () => readonly [string];
|
|
22
23
|
export declare const githubIntegrationsKey: () => readonly [string];
|
|
23
24
|
export declare const linearIntegrationsKey: () => readonly [string];
|
|
24
25
|
export declare const notionIntegrationsKey: () => readonly [string];
|
|
@@ -29,6 +30,8 @@ export declare const snowflakeIntegrationsKey: () => readonly [string];
|
|
|
29
30
|
export declare const heyReachIntegrationsKey: () => readonly [string];
|
|
30
31
|
export declare const resendIntegrationsKey: () => readonly [string];
|
|
31
32
|
export declare const apolloIntegrationsKey: () => readonly [string];
|
|
33
|
+
export declare const metaAdsIntegrationsKey: () => readonly [string];
|
|
34
|
+
export declare const higgsfieldIntegrationsKey: () => readonly [string];
|
|
32
35
|
export declare const attioObjectsKey: (integrationId: string | null | undefined) => readonly [string, string] | null;
|
|
33
36
|
export declare const allRunHistoryKey: (params?: GetRunHistoryParams) => readonly [string, string] | readonly [string];
|
|
34
37
|
export declare const runHistoryKey: (agentId: string, params?: GetRunHistoryParams) => readonly [string, string, string] | readonly [string, string];
|
package/dist/InvalidationKeys.js
CHANGED
|
@@ -49,6 +49,9 @@ export const linearTeamsKey = (integrationId) => {
|
|
|
49
49
|
export const gmailIntegrationsKey = () => {
|
|
50
50
|
return ["gmailIntegrations"];
|
|
51
51
|
};
|
|
52
|
+
export const googleSearchConsoleIntegrationsKey = () => {
|
|
53
|
+
return ["googleSearchConsoleIntegrations"];
|
|
54
|
+
};
|
|
52
55
|
export const githubIntegrationsKey = () => {
|
|
53
56
|
return ["githubIntegrations"];
|
|
54
57
|
};
|
|
@@ -75,6 +78,8 @@ export const heyReachIntegrationsKey = () => {
|
|
|
75
78
|
};
|
|
76
79
|
export const resendIntegrationsKey = () => ["resendIntegrations"];
|
|
77
80
|
export const apolloIntegrationsKey = () => ["apolloIntegrations"];
|
|
81
|
+
export const metaAdsIntegrationsKey = () => ["metaAdsIntegrations"];
|
|
82
|
+
export const higgsfieldIntegrationsKey = () => ["higgsfieldIntegrations"];
|
|
78
83
|
export const attioObjectsKey = (integrationId) => {
|
|
79
84
|
if (!integrationId) {
|
|
80
85
|
return null;
|
package/dist/ToolDisplayUtils.js
CHANGED
|
@@ -1065,8 +1065,177 @@ const TOOL_DISPLAY_CONFIG = {
|
|
|
1065
1065
|
return `Found ${total} job posting${total !== 1 ? "s" : ""}`;
|
|
1066
1066
|
return "Job postings loaded";
|
|
1067
1067
|
}
|
|
1068
|
+
},
|
|
1069
|
+
// Meta Ads Tools
|
|
1070
|
+
// ===================
|
|
1071
|
+
meta_ads_list_ad_accounts: {
|
|
1072
|
+
preparing: "Loading ad accounts",
|
|
1073
|
+
executing: () => "Loading ad accounts",
|
|
1074
|
+
complete: (_params, result) => metaAdsCountLabel(result, "ad account", "Ad accounts loaded")
|
|
1075
|
+
},
|
|
1076
|
+
meta_ads_list_campaigns: {
|
|
1077
|
+
preparing: "Loading campaigns",
|
|
1078
|
+
executing: () => "Loading campaigns",
|
|
1079
|
+
complete: (_params, result) => metaAdsCountLabel(result, "campaign", "Campaigns loaded")
|
|
1080
|
+
},
|
|
1081
|
+
meta_ads_list_adsets: {
|
|
1082
|
+
preparing: "Loading ad sets",
|
|
1083
|
+
executing: () => "Loading ad sets",
|
|
1084
|
+
complete: (_params, result) => metaAdsCountLabel(result, "ad set", "Ad sets loaded")
|
|
1085
|
+
},
|
|
1086
|
+
meta_ads_read_insights: {
|
|
1087
|
+
preparing: "Loading ad performance",
|
|
1088
|
+
executing: () => "Loading Meta Ads insights",
|
|
1089
|
+
complete: (_params, result) => {
|
|
1090
|
+
const parsed = safeParseResult(result);
|
|
1091
|
+
const count = parsed?.count;
|
|
1092
|
+
return count !== undefined ? `Loaded ${count} insight row${count !== 1 ? "s" : ""}` : "Insights loaded";
|
|
1093
|
+
}
|
|
1094
|
+
},
|
|
1095
|
+
meta_ads_list_pixels: {
|
|
1096
|
+
preparing: "Loading pixels",
|
|
1097
|
+
executing: () => "Loading Meta pixels",
|
|
1098
|
+
complete: (_params, result) => metaAdsCountLabel(result, "pixel", "Pixels loaded")
|
|
1099
|
+
},
|
|
1100
|
+
meta_ads_list_audiences: {
|
|
1101
|
+
preparing: "Loading custom audiences",
|
|
1102
|
+
executing: () => "Loading custom audiences",
|
|
1103
|
+
complete: (_params, result) => metaAdsCountLabel(result, "audience", "Audiences loaded")
|
|
1104
|
+
},
|
|
1105
|
+
meta_ads_add_audience_users: {
|
|
1106
|
+
preparing: "Getting audience update ready",
|
|
1107
|
+
executing: params => metaAdsAudienceUsersLabel(params, "Adding"),
|
|
1108
|
+
complete: params => metaAdsAudienceUsersLabel(params, "Added"),
|
|
1109
|
+
approval: params => `${metaAdsAudienceUsersLabel(params, "Add")} to this custom audience?`
|
|
1110
|
+
},
|
|
1111
|
+
meta_ads_remove_audience_users: {
|
|
1112
|
+
preparing: "Getting audience update ready",
|
|
1113
|
+
executing: params => metaAdsAudienceUsersLabel(params, "Removing"),
|
|
1114
|
+
complete: params => metaAdsAudienceUsersLabel(params, "Removed"),
|
|
1115
|
+
approval: params => `${metaAdsAudienceUsersLabel(params, "Remove")} from this custom audience?`
|
|
1116
|
+
},
|
|
1117
|
+
meta_ads_send_conversions: {
|
|
1118
|
+
preparing: "Getting conversion events ready",
|
|
1119
|
+
executing: params => {
|
|
1120
|
+
const count = metaAdsEventCount(params);
|
|
1121
|
+
return count !== undefined ? `Sending ${count} conversion event${count !== 1 ? "s" : ""}` : "Sending conversion events";
|
|
1122
|
+
},
|
|
1123
|
+
complete: (_params, result) => {
|
|
1124
|
+
const parsed = safeParseResult(result);
|
|
1125
|
+
const received = parsed?.eventsReceived;
|
|
1126
|
+
return received !== undefined ? `Meta received ${received} event${received !== 1 ? "s" : ""}` : "Conversion events sent";
|
|
1127
|
+
},
|
|
1128
|
+
approval: params => {
|
|
1129
|
+
const count = metaAdsEventCount(params) ?? 0;
|
|
1130
|
+
return `Send ${count} conversion event${count !== 1 ? "s" : ""} to Meta?`;
|
|
1131
|
+
}
|
|
1132
|
+
},
|
|
1133
|
+
higgsfield_generate_image: {
|
|
1134
|
+
preparing: "Getting image generation ready",
|
|
1135
|
+
executing: params => {
|
|
1136
|
+
const batchSize = params?.batchSize;
|
|
1137
|
+
return batchSize && batchSize > 1 ? `Generating ${batchSize} creative variants` : "Generating creative";
|
|
1138
|
+
},
|
|
1139
|
+
complete: (_params, result) => {
|
|
1140
|
+
const parsed = safeParseResult(result);
|
|
1141
|
+
const count = parsed?.count;
|
|
1142
|
+
return count !== undefined ? `Generated ${count} image${count !== 1 ? "s" : ""}` : "Image generation complete";
|
|
1143
|
+
},
|
|
1144
|
+
approval: params => {
|
|
1145
|
+
const prompt = params?.prompt;
|
|
1146
|
+
return prompt ? `Generate creative for "${truncate(prompt)}" via Higgsfield (uses credits)?` : "Generate creative via Higgsfield (uses credits)?";
|
|
1147
|
+
}
|
|
1148
|
+
},
|
|
1149
|
+
meta_ads_list_pages: {
|
|
1150
|
+
preparing: "Loading Facebook Pages",
|
|
1151
|
+
executing: () => "Loading Facebook Pages",
|
|
1152
|
+
complete: (_params, result) => metaAdsCountLabel(result, "Page", "Pages loaded")
|
|
1153
|
+
},
|
|
1154
|
+
meta_ads_list_ads: {
|
|
1155
|
+
preparing: "Loading ads and creatives",
|
|
1156
|
+
executing: () => "Loading ads",
|
|
1157
|
+
complete: (_params, result) => metaAdsCountLabel(result, "ad", "Ads loaded")
|
|
1158
|
+
},
|
|
1159
|
+
higgsfield_generate_video: {
|
|
1160
|
+
preparing: "Getting video generation ready",
|
|
1161
|
+
executing: () => "Animating creative into video",
|
|
1162
|
+
complete: (_params, result) => {
|
|
1163
|
+
const count = safeParseResult(result)?.count;
|
|
1164
|
+
return count !== undefined ? `Generated ${count} video${count !== 1 ? "s" : ""}` : "Video generation complete";
|
|
1165
|
+
},
|
|
1166
|
+
approval: params => {
|
|
1167
|
+
const prompt = params?.prompt;
|
|
1168
|
+
return prompt ? `Animate this image with "${truncate(prompt)}" via Higgsfield (uses credits)?` : "Animate this image via Higgsfield (uses credits)?";
|
|
1169
|
+
}
|
|
1170
|
+
},
|
|
1171
|
+
higgsfield_list_motions: {
|
|
1172
|
+
preparing: "Loading motion presets",
|
|
1173
|
+
executing: () => "Loading Higgsfield motions",
|
|
1174
|
+
complete: (_params, result) => metaAdsCountLabel(result, "motion", "Motions loaded")
|
|
1175
|
+
},
|
|
1176
|
+
meta_ads_create_ad: {
|
|
1177
|
+
preparing: "Getting the new ad ready",
|
|
1178
|
+
executing: params => {
|
|
1179
|
+
const name = params?.name;
|
|
1180
|
+
const format = metaAdsCreativeFormat(params);
|
|
1181
|
+
const label = name ? `Creating ${format} ad ${truncate(name)}` : `Creating ${format} ad`;
|
|
1182
|
+
return label;
|
|
1183
|
+
},
|
|
1184
|
+
complete: (params, result) => {
|
|
1185
|
+
const parsed = safeParseResult(result);
|
|
1186
|
+
const adId = parsed?.adId;
|
|
1187
|
+
const name = params?.name;
|
|
1188
|
+
if (name)
|
|
1189
|
+
return `Created ad ${truncate(name)}`;
|
|
1190
|
+
return adId ? `Created ad ${adId}` : "Ad created";
|
|
1191
|
+
},
|
|
1192
|
+
approval: params => {
|
|
1193
|
+
const name = params?.name;
|
|
1194
|
+
const label = name ? truncate(name) : "a new ad";
|
|
1195
|
+
return `Create ${metaAdsCreativeFormat(params)} ad ${label} in this ad set${params?.status === "ACTIVE" ? " and start delivery" : " (paused)"}?`;
|
|
1196
|
+
}
|
|
1197
|
+
},
|
|
1198
|
+
meta_ads_set_status: {
|
|
1199
|
+
preparing: "Getting the status change ready",
|
|
1200
|
+
executing: params => `${metaAdsStatusVerb(params, "ing")} ${params?.entityType ?? "entity"}`,
|
|
1201
|
+
complete: params => `${metaAdsStatusVerb(params, "ed")} ${params?.entityType ?? "entity"}`,
|
|
1202
|
+
approval: params => {
|
|
1203
|
+
const entityId = params?.entityId;
|
|
1204
|
+
return `${metaAdsStatusVerb(params, "")} ${params?.entityType ?? "entity"} ${entityId ?? ""}?`.replace(/\s+\?$/, "?");
|
|
1205
|
+
}
|
|
1068
1206
|
}
|
|
1069
1207
|
};
|
|
1208
|
+
function metaAdsCreativeFormat(params) {
|
|
1209
|
+
const format = params?.creative?.format;
|
|
1210
|
+
switch (format) {
|
|
1211
|
+
case "single_video":
|
|
1212
|
+
return "video";
|
|
1213
|
+
case "carousel":
|
|
1214
|
+
return "carousel";
|
|
1215
|
+
case "dynamic_image":
|
|
1216
|
+
case "dynamic_video":
|
|
1217
|
+
case "dynamic_mixed":
|
|
1218
|
+
return "dynamic";
|
|
1219
|
+
default:
|
|
1220
|
+
return "image";
|
|
1221
|
+
}
|
|
1222
|
+
}
|
|
1223
|
+
function metaAdsCountLabel(result, noun, fallback) {
|
|
1224
|
+
const count = safeParseResult(result)?.count;
|
|
1225
|
+
return count !== undefined ? `Found ${count} ${noun}${count !== 1 ? "s" : ""}` : fallback;
|
|
1226
|
+
}
|
|
1227
|
+
function metaAdsAudienceUsersLabel(params, verb) {
|
|
1228
|
+
const count = params?.users?.length;
|
|
1229
|
+
return count !== undefined ? `${verb} ${count} user${count !== 1 ? "s" : ""}` : `${verb} audience users`;
|
|
1230
|
+
}
|
|
1231
|
+
function metaAdsEventCount(params) {
|
|
1232
|
+
return params?.events?.length;
|
|
1233
|
+
}
|
|
1234
|
+
function metaAdsStatusVerb(params, suffix) {
|
|
1235
|
+
if (params?.status === "PAUSED")
|
|
1236
|
+
return suffix === "ing" ? "Pausing" : suffix === "ed" ? "Paused" : "Pause";
|
|
1237
|
+
return suffix === "ing" ? "Resuming" : suffix === "ed" ? "Resumed" : "Resume";
|
|
1238
|
+
}
|
|
1070
1239
|
/**
|
|
1071
1240
|
* Safely parse JSON parameters string into an object.
|
|
1072
1241
|
*/
|