@automate.ax/catalog 0.115.6 → 0.116.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/catalog.js CHANGED
@@ -319,10 +319,11 @@ export const microsoftService = defineIntegrationService({
319
319
  name: "Microsoft",
320
320
  });
321
321
  export const millionverifierService = defineApiKeyService({
322
- description: "Connect a Million Verifier API key.",
322
+ credentialUrl: "https://app.millionverifier.com/api",
323
+ description: "Connect a MillionVerifier API key.",
323
324
  id: "millionverifier",
324
- name: "Million Verifier",
325
- placeholder: "Million Verifier API key",
325
+ name: "MillionVerifier",
326
+ placeholder: "MillionVerifier API key",
326
327
  });
327
328
  export const mistralService = defineApiKeyService({
328
329
  description: "Connect a Mistral AI API key.",
@@ -1994,6 +1994,81 @@ export declare const triggerDefinitions: {
1994
1994
  readonly name: "Microsoft Teams chat message posted";
1995
1995
  readonly type: "teams.chat.message.posted";
1996
1996
  };
1997
+ readonly millionVerifierEvent: {
1998
+ account: {
1999
+ readonly connectionOptions: readonly [{
2000
+ readonly requiredScopes: readonly [];
2001
+ }];
2002
+ readonly serviceId: "millionverifier";
2003
+ };
2004
+ getDetails: (context: TriggerPresentationContext) => {
2005
+ copyable: boolean;
2006
+ label: string;
2007
+ value: string;
2008
+ }[];
2009
+ name: string;
2010
+ type: "millionverifier.event";
2011
+ };
2012
+ readonly millionVerifierNoCredit: {
2013
+ account: {
2014
+ readonly connectionOptions: readonly [{
2015
+ readonly requiredScopes: readonly [];
2016
+ }];
2017
+ readonly serviceId: "millionverifier";
2018
+ };
2019
+ getDetails: (context: TriggerPresentationContext) => {
2020
+ copyable: boolean;
2021
+ label: string;
2022
+ value: string;
2023
+ }[];
2024
+ name: string;
2025
+ type: "millionverifier.noCredit";
2026
+ };
2027
+ readonly millionVerifierLowCredit: {
2028
+ account: {
2029
+ readonly connectionOptions: readonly [{
2030
+ readonly requiredScopes: readonly [];
2031
+ }];
2032
+ readonly serviceId: "millionverifier";
2033
+ };
2034
+ getDetails: (context: TriggerPresentationContext) => {
2035
+ copyable: boolean;
2036
+ label: string;
2037
+ value: string;
2038
+ }[];
2039
+ name: string;
2040
+ type: "millionverifier.lowCredit";
2041
+ };
2042
+ readonly millionVerifierFileReady: {
2043
+ account: {
2044
+ readonly connectionOptions: readonly [{
2045
+ readonly requiredScopes: readonly [];
2046
+ }];
2047
+ readonly serviceId: "millionverifier";
2048
+ };
2049
+ getDetails: (context: TriggerPresentationContext) => {
2050
+ copyable: boolean;
2051
+ label: string;
2052
+ value: string;
2053
+ }[];
2054
+ name: string;
2055
+ type: "millionverifier.fileReady";
2056
+ };
2057
+ readonly millionVerifierFileDeletionScheduled: {
2058
+ account: {
2059
+ readonly connectionOptions: readonly [{
2060
+ readonly requiredScopes: readonly [];
2061
+ }];
2062
+ readonly serviceId: "millionverifier";
2063
+ };
2064
+ getDetails: (context: TriggerPresentationContext) => {
2065
+ copyable: boolean;
2066
+ label: string;
2067
+ value: string;
2068
+ }[];
2069
+ name: string;
2070
+ type: "millionverifier.fileDeletionScheduled";
2071
+ };
1997
2072
  readonly linearAttachmentCreated: {
1998
2073
  readonly account: {
1999
2074
  readonly connectionOptions: readonly [{
@@ -10282,6 +10357,76 @@ export declare const triggerCatalog: ({
10282
10357
  readonly serviceId: "linear";
10283
10358
  };
10284
10359
  type: "linear.user.updated";
10360
+ } | {
10361
+ name: string;
10362
+ account: {
10363
+ readonly connectionOptions: readonly [{
10364
+ readonly requiredScopes: readonly [];
10365
+ }];
10366
+ readonly serviceId: "millionverifier";
10367
+ };
10368
+ getDetails: (context: TriggerPresentationContext) => {
10369
+ copyable: boolean;
10370
+ label: string;
10371
+ value: string;
10372
+ }[];
10373
+ type: "millionverifier.event";
10374
+ } | {
10375
+ name: string;
10376
+ account: {
10377
+ readonly connectionOptions: readonly [{
10378
+ readonly requiredScopes: readonly [];
10379
+ }];
10380
+ readonly serviceId: "millionverifier";
10381
+ };
10382
+ getDetails: (context: TriggerPresentationContext) => {
10383
+ copyable: boolean;
10384
+ label: string;
10385
+ value: string;
10386
+ }[];
10387
+ type: "millionverifier.noCredit";
10388
+ } | {
10389
+ name: string;
10390
+ account: {
10391
+ readonly connectionOptions: readonly [{
10392
+ readonly requiredScopes: readonly [];
10393
+ }];
10394
+ readonly serviceId: "millionverifier";
10395
+ };
10396
+ getDetails: (context: TriggerPresentationContext) => {
10397
+ copyable: boolean;
10398
+ label: string;
10399
+ value: string;
10400
+ }[];
10401
+ type: "millionverifier.lowCredit";
10402
+ } | {
10403
+ name: string;
10404
+ account: {
10405
+ readonly connectionOptions: readonly [{
10406
+ readonly requiredScopes: readonly [];
10407
+ }];
10408
+ readonly serviceId: "millionverifier";
10409
+ };
10410
+ getDetails: (context: TriggerPresentationContext) => {
10411
+ copyable: boolean;
10412
+ label: string;
10413
+ value: string;
10414
+ }[];
10415
+ type: "millionverifier.fileReady";
10416
+ } | {
10417
+ name: string;
10418
+ account: {
10419
+ readonly connectionOptions: readonly [{
10420
+ readonly requiredScopes: readonly [];
10421
+ }];
10422
+ readonly serviceId: "millionverifier";
10423
+ };
10424
+ getDetails: (context: TriggerPresentationContext) => {
10425
+ copyable: boolean;
10426
+ label: string;
10427
+ value: string;
10428
+ }[];
10429
+ type: "millionverifier.fileDeletionScheduled";
10285
10430
  } | {
10286
10431
  name: string;
10287
10432
  account: {
@@ -9,6 +9,7 @@ import { coreTriggerDefinitions } from "./core.js";
9
9
  import { githubTriggerDefinitions } from "./github.js";
10
10
  import { googleTriggerDefinitions } from "./google.js";
11
11
  import { linearTriggerDefinitions } from "./linear.js";
12
+ import { millionVerifierTriggerDefinitions } from "./millionverifier.js";
12
13
  import { microsoftTriggerDefinitions } from "./microsoft.js";
13
14
  import { notionTriggerDefinitions } from "./notion.js";
14
15
  import { resendTriggerDefinitions } from "./resend.js";
@@ -34,6 +35,7 @@ export const triggerDefinitions = {
34
35
  ...githubTriggerDefinitions,
35
36
  ...googleTriggerDefinitions,
36
37
  ...linearTriggerDefinitions,
38
+ ...millionVerifierTriggerDefinitions,
37
39
  ...microsoftTriggerDefinitions,
38
40
  ...notionTriggerDefinitions,
39
41
  ...resendTriggerDefinitions,
@@ -0,0 +1,69 @@
1
+ import type { TriggerPresentationContext } from "../types.js";
2
+ export declare const millionVerifierTriggerDefinitions: {
3
+ readonly millionVerifierEvent: {
4
+ account: {
5
+ readonly connectionOptions: readonly [{
6
+ readonly requiredScopes: readonly [];
7
+ }];
8
+ readonly serviceId: "millionverifier";
9
+ };
10
+ getDetails: typeof millionVerifierTriggerDetails;
11
+ name: string;
12
+ type: "millionverifier.event";
13
+ };
14
+ readonly millionVerifierNoCredit: {
15
+ account: {
16
+ readonly connectionOptions: readonly [{
17
+ readonly requiredScopes: readonly [];
18
+ }];
19
+ readonly serviceId: "millionverifier";
20
+ };
21
+ getDetails: typeof millionVerifierTriggerDetails;
22
+ name: string;
23
+ type: "millionverifier.noCredit";
24
+ };
25
+ readonly millionVerifierLowCredit: {
26
+ account: {
27
+ readonly connectionOptions: readonly [{
28
+ readonly requiredScopes: readonly [];
29
+ }];
30
+ readonly serviceId: "millionverifier";
31
+ };
32
+ getDetails: typeof millionVerifierTriggerDetails;
33
+ name: string;
34
+ type: "millionverifier.lowCredit";
35
+ };
36
+ readonly millionVerifierFileReady: {
37
+ account: {
38
+ readonly connectionOptions: readonly [{
39
+ readonly requiredScopes: readonly [];
40
+ }];
41
+ readonly serviceId: "millionverifier";
42
+ };
43
+ getDetails: typeof millionVerifierTriggerDetails;
44
+ name: string;
45
+ type: "millionverifier.fileReady";
46
+ };
47
+ readonly millionVerifierFileDeletionScheduled: {
48
+ account: {
49
+ readonly connectionOptions: readonly [{
50
+ readonly requiredScopes: readonly [];
51
+ }];
52
+ readonly serviceId: "millionverifier";
53
+ };
54
+ getDetails: typeof millionVerifierTriggerDetails;
55
+ name: string;
56
+ type: "millionverifier.fileDeletionScheduled";
57
+ };
58
+ };
59
+ /**
60
+ * Returns the manual account-scoped provider callback for a deployed trigger.
61
+ *
62
+ * @param context - Resolved trigger presentation context.
63
+ */
64
+ declare function millionVerifierTriggerDetails(context: TriggerPresentationContext): {
65
+ copyable: boolean;
66
+ label: string;
67
+ value: string;
68
+ }[];
69
+ export {};
@@ -0,0 +1,45 @@
1
+ const MILLIONVERIFIER_ACCOUNT = {
2
+ connectionOptions: [{ requiredScopes: [] }],
3
+ serviceId: "millionverifier",
4
+ };
5
+ const trigger = (type, name) => ({
6
+ account: MILLIONVERIFIER_ACCOUNT,
7
+ getDetails: millionVerifierTriggerDetails,
8
+ name,
9
+ type,
10
+ });
11
+ export const millionVerifierTriggerDefinitions = {
12
+ millionVerifierEvent: trigger("millionverifier.event", "MillionVerifier event"),
13
+ millionVerifierNoCredit: trigger("millionverifier.noCredit", "MillionVerifier out of credits"),
14
+ millionVerifierLowCredit: trigger("millionverifier.lowCredit", "MillionVerifier credits low"),
15
+ millionVerifierFileReady: trigger("millionverifier.fileReady", "MillionVerifier file ready"),
16
+ millionVerifierFileDeletionScheduled: trigger("millionverifier.fileDeletionScheduled", "MillionVerifier file deletion scheduled"),
17
+ };
18
+ /**
19
+ * Returns the manual account-scoped provider callback for a deployed trigger.
20
+ *
21
+ * @param context - Resolved trigger presentation context.
22
+ */
23
+ function millionVerifierTriggerDetails(context) {
24
+ const account = triggerAccount(context.config);
25
+ if (!account)
26
+ return [];
27
+ return [
28
+ {
29
+ copyable: true,
30
+ label: "Webhook URL",
31
+ value: new URL(`/api/v1/events/millionverifier/${encodeURIComponent(account)}`, context.appOrigin).toString(),
32
+ },
33
+ ];
34
+ }
35
+ /**
36
+ * Reads the resolved account binding from canonical trigger configuration.
37
+ *
38
+ * @param config - Resolved trigger configuration.
39
+ */
40
+ function triggerAccount(config) {
41
+ if (typeof config !== "object" || config === null || !("account" in config)) {
42
+ return;
43
+ }
44
+ return typeof config.account === "string" ? config.account : undefined;
45
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@automate.ax/catalog",
3
- "version": "0.115.6",
3
+ "version": "0.116.0",
4
4
  "description": "Shared integration service and trigger definitions for Automate.ax.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -35,6 +35,7 @@
35
35
  "./triggers/github": "./src/triggers/github.ts",
36
36
  "./triggers/google": "./src/triggers/google.ts",
37
37
  "./triggers/linear": "./src/triggers/linear.ts",
38
+ "./triggers/millionverifier": "./src/triggers/millionverifier.ts",
38
39
  "./triggers/microsoft": "./src/triggers/microsoft.ts",
39
40
  "./triggers/notion": "./src/triggers/notion.ts",
40
41
  "./triggers/name": "./src/triggers/name.ts",
@@ -168,6 +169,11 @@
168
169
  "types": "./dist/triggers/linear.d.ts",
169
170
  "default": "./dist/triggers/linear.js"
170
171
  },
172
+ "./triggers/millionverifier": {
173
+ "bun": "./src/triggers/millionverifier.ts",
174
+ "types": "./dist/triggers/millionverifier.d.ts",
175
+ "default": "./dist/triggers/millionverifier.js"
176
+ },
171
177
  "./triggers/microsoft": {
172
178
  "bun": "./src/triggers/microsoft.ts",
173
179
  "types": "./dist/triggers/microsoft.d.ts",
package/src/catalog.ts CHANGED
@@ -353,10 +353,11 @@ export const microsoftService = defineIntegrationService({
353
353
  })
354
354
 
355
355
  export const millionverifierService = defineApiKeyService({
356
- description: "Connect a Million Verifier API key.",
356
+ credentialUrl: "https://app.millionverifier.com/api",
357
+ description: "Connect a MillionVerifier API key.",
357
358
  id: "millionverifier",
358
- name: "Million Verifier",
359
- placeholder: "Million Verifier API key",
359
+ name: "MillionVerifier",
360
+ placeholder: "MillionVerifier API key",
360
361
  })
361
362
 
362
363
  export const mistralService = defineApiKeyService({
@@ -9,6 +9,7 @@ import { coreTriggerDefinitions } from "./core"
9
9
  import { githubTriggerDefinitions } from "./github"
10
10
  import { googleTriggerDefinitions } from "./google"
11
11
  import { linearTriggerDefinitions } from "./linear"
12
+ import { millionVerifierTriggerDefinitions } from "./millionverifier"
12
13
  import { microsoftTriggerDefinitions } from "./microsoft"
13
14
  import { notionTriggerDefinitions } from "./notion"
14
15
  import { resendTriggerDefinitions } from "./resend"
@@ -58,6 +59,7 @@ export const triggerDefinitions = {
58
59
  ...githubTriggerDefinitions,
59
60
  ...googleTriggerDefinitions,
60
61
  ...linearTriggerDefinitions,
62
+ ...millionVerifierTriggerDefinitions,
61
63
  ...microsoftTriggerDefinitions,
62
64
  ...notionTriggerDefinitions,
63
65
  ...resendTriggerDefinitions,
@@ -0,0 +1,72 @@
1
+ import type {
2
+ IntegrationAccountRequirement,
3
+ TriggerDefinition,
4
+ TriggerPresentationContext,
5
+ } from "../types"
6
+
7
+ const MILLIONVERIFIER_ACCOUNT = {
8
+ connectionOptions: [{ requiredScopes: [] }],
9
+ serviceId: "millionverifier",
10
+ } as const satisfies IntegrationAccountRequirement
11
+
12
+ const trigger = <const TType extends string>(type: TType, name: string) => ({
13
+ account: MILLIONVERIFIER_ACCOUNT,
14
+ getDetails: millionVerifierTriggerDetails,
15
+ name,
16
+ type,
17
+ })
18
+
19
+ export const millionVerifierTriggerDefinitions = {
20
+ millionVerifierEvent: trigger(
21
+ "millionverifier.event",
22
+ "MillionVerifier event",
23
+ ),
24
+ millionVerifierNoCredit: trigger(
25
+ "millionverifier.noCredit",
26
+ "MillionVerifier out of credits",
27
+ ),
28
+ millionVerifierLowCredit: trigger(
29
+ "millionverifier.lowCredit",
30
+ "MillionVerifier credits low",
31
+ ),
32
+ millionVerifierFileReady: trigger(
33
+ "millionverifier.fileReady",
34
+ "MillionVerifier file ready",
35
+ ),
36
+ millionVerifierFileDeletionScheduled: trigger(
37
+ "millionverifier.fileDeletionScheduled",
38
+ "MillionVerifier file deletion scheduled",
39
+ ),
40
+ } as const satisfies Record<string, TriggerDefinition>
41
+
42
+ /**
43
+ * Returns the manual account-scoped provider callback for a deployed trigger.
44
+ *
45
+ * @param context - Resolved trigger presentation context.
46
+ */
47
+ function millionVerifierTriggerDetails(context: TriggerPresentationContext) {
48
+ const account = triggerAccount(context.config)
49
+ if (!account) return []
50
+ return [
51
+ {
52
+ copyable: true,
53
+ label: "Webhook URL",
54
+ value: new URL(
55
+ `/api/v1/events/millionverifier/${encodeURIComponent(account)}`,
56
+ context.appOrigin,
57
+ ).toString(),
58
+ },
59
+ ]
60
+ }
61
+
62
+ /**
63
+ * Reads the resolved account binding from canonical trigger configuration.
64
+ *
65
+ * @param config - Resolved trigger configuration.
66
+ */
67
+ function triggerAccount(config: unknown) {
68
+ if (typeof config !== "object" || config === null || !("account" in config)) {
69
+ return
70
+ }
71
+ return typeof config.account === "string" ? config.account : undefined
72
+ }