terse-types 0.0.34 → 0.0.35

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/LICENSE.md ADDED
@@ -0,0 +1,83 @@
1
+ # License
2
+
3
+ Portions of this software are licensed as follows:
4
+
5
+ - Content of branches other than the main branch (i.e. "main") are not licensed.
6
+ - All third party components incorporated into the Terse Software are licensed under the original license
7
+ provided by the owner of the applicable component.
8
+ - Content outside of the above mentioned files or restrictions is available under the "Sustainable Use
9
+ License" as defined below.
10
+
11
+ ## Sustainable Use License
12
+
13
+ Version 1.0
14
+
15
+ ### Acceptance
16
+
17
+ By using the software, you agree to all of the terms and conditions below.
18
+
19
+ ### Copyright License
20
+
21
+ The licensor grants you a non-exclusive, royalty-free, worldwide, non-sublicensable, non-transferable license
22
+ to use, copy, distribute, make available, and prepare derivative works of the software, in each case subject
23
+ to the limitations below.
24
+
25
+ ### Limitations
26
+
27
+ You may use or modify the software only for your own internal business purposes or for non-commercial or
28
+ personal use. You may distribute the software or provide it to others only if you do so free of charge for
29
+ non-commercial purposes. You may not alter, remove, or obscure any licensing, copyright, or other notices of
30
+ the licensor in the software. Any use of the licensor’s trademarks is subject to applicable law.
31
+
32
+ ### Patents
33
+
34
+ The licensor grants you a license, under any patent claims the licensor can license, or becomes able to
35
+ license, to make, have made, use, sell, offer for sale, import and have imported the software, in each case
36
+ subject to the limitations and conditions in this license. This license does not cover any patent claims that
37
+ you cause to be infringed by modifications or additions to the software. If you or your company make any
38
+ written claim that the software infringes or contributes to infringement of any patent, your patent license
39
+ for the software granted under these terms ends immediately. If your company makes such a claim, your patent
40
+ license ends immediately for work on behalf of your company.
41
+
42
+ ### Notices
43
+
44
+ You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these
45
+ terms. If you modify the software, you must include in any modified copies of the software a prominent notice
46
+ stating that you have modified the software.
47
+
48
+ ### No Other Rights
49
+
50
+ These terms do not imply any licenses other than those expressly granted in these terms.
51
+
52
+ ### Termination
53
+
54
+ If you use the software in violation of these terms, such use is not licensed, and your license will
55
+ automatically terminate. If the licensor provides you with a notice of your violation, and you cease all
56
+ violation of this license no later than 30 days after you receive that notice, your license will be reinstated
57
+ retroactively. However, if you violate these terms after such reinstatement, any additional violation of these
58
+ terms will cause your license to terminate automatically and permanently.
59
+
60
+ ### No Liability
61
+
62
+ As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will
63
+ not be liable to you for any damages arising out of these terms or the use or nature of the software, under
64
+ any kind of legal claim.
65
+
66
+ ### Definitions
67
+
68
+ The “licensor” is the entity offering these terms.
69
+
70
+ The “software” is the software the licensor makes available under these terms, including any portion of it.
71
+
72
+ “You” refers to the individual or entity agreeing to these terms.
73
+
74
+ “Your company” is any legal entity, sole proprietorship, or other kind of organization that you work for, plus
75
+ all organizations that have control over, are under the control of, or are under common control with that
76
+ organization. Control means ownership of substantially all the assets of an entity, or the power to direct its
77
+ management and policies by vote, contract, or otherwise. Control can be direct or indirect.
78
+
79
+ “Your license” is the license granted to you for the software under these terms.
80
+
81
+ “Use” means anything you do with the software requiring your license.
82
+
83
+ “Trademark” means trademarks, service marks, and similar rights.
@@ -173,6 +173,7 @@ export declare const ApiRoutes: {
173
173
  WORKOS_TRIGGER_BY_INTEGRATION_ID: string;
174
174
  WEBHOOK_TRIGGER_BY_TOKEN: string;
175
175
  HEY_REACH_BY_INTEGRATION_ID: string;
176
+ ATTIO_BY_TRIGGER_ID: string;
176
177
  };
177
178
  SCHEDULE: {
178
179
  TRIGGER_BY_INPUT_ID: string;
@@ -172,7 +172,8 @@
172
172
  "WEBMONITOR_BY_INPUT_ID": "/webhooks/webmonitor/:inputId",
173
173
  "WORKOS_TRIGGER_BY_INTEGRATION_ID": "/webhooks/workos-trigger/:integrationId",
174
174
  "WEBHOOK_TRIGGER_BY_TOKEN": "/webhooks/trigger/:webhookToken",
175
- "HEY_REACH_BY_INTEGRATION_ID": "/webhooks/heyreach/:triggerId"
175
+ "HEY_REACH_BY_INTEGRATION_ID": "/webhooks/heyreach/:triggerId",
176
+ "ATTIO_BY_TRIGGER_ID": "/webhooks/attio/:triggerId"
176
177
  },
177
178
  "SCHEDULE": {
178
179
  "TRIGGER_BY_INPUT_ID": "/schedule/trigger/:inputId",
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Collapses a single Attio value entry (or nested structure) toward primitives /
3
+ * simple objects, matching the shape produced for generated Attio tool outputs.
4
+ */
5
+ export declare function flattenAttioLeafValue(value: unknown): unknown;
6
+ /**
7
+ * Flattens one attribute’s raw value (often an array of interaction rows from the REST API).
8
+ * @param preferArray When true, keep all entries as an array; when false, use the first entry only.
9
+ */
10
+ export declare function flattenAttioAttributeValue(rawValue: unknown, preferArray: boolean): unknown;
11
+ /**
12
+ * Flattens `record.values` from Attio’s GET record / webhook enrichment payload.
13
+ */
14
+ export declare function flattenAttioRecordValues(values: Record<string, unknown>, isMultiValueAttribute: (attributeSlug: string) => boolean): Record<string, unknown>;
15
+ /**
16
+ * Slug-only heuristic when object attribute metadata is unavailable (e.g. Attio webhook triggers).
17
+ * Prefer {@link flattenAttioRecordValues} with object-aware multi-value info from codegen when possible.
18
+ */
19
+ export declare function isProbablyAttioMultiValueAttributeSlug(attributeSlug: string): boolean;
@@ -0,0 +1,71 @@
1
+ /** Keys Attio nests on attribute timeline entries (not the semantic payload). */
2
+ const ATTIO_VALUE_METADATA_KEYS = new Set([
3
+ "active_from",
4
+ "active_until",
5
+ "attribute_type",
6
+ "created_by_actor"
7
+ ]);
8
+ /**
9
+ * Collapses a single Attio value entry (or nested structure) toward primitives /
10
+ * simple objects, matching the shape produced for generated Attio tool outputs.
11
+ */
12
+ export function flattenAttioLeafValue(value) {
13
+ if (value === null || value === undefined)
14
+ return value;
15
+ if (Array.isArray(value))
16
+ return value.map(entry => flattenAttioLeafValue(entry));
17
+ if (typeof value !== "object")
18
+ return value;
19
+ const rawObject = value;
20
+ if (typeof rawObject.full_name === "string")
21
+ return rawObject.full_name;
22
+ if (typeof rawObject.email_address === "string")
23
+ return rawObject.email_address;
24
+ if (typeof rawObject.domain === "string")
25
+ return rawObject.domain;
26
+ if (typeof rawObject.phone_number === "string")
27
+ return rawObject.phone_number;
28
+ if ("value" in rawObject)
29
+ return flattenAttioLeafValue(rawObject.value);
30
+ const dataEntries = Object.entries(rawObject).filter(([key]) => !ATTIO_VALUE_METADATA_KEYS.has(key));
31
+ if (dataEntries.length === 0)
32
+ return rawObject;
33
+ if (dataEntries.length === 1)
34
+ return flattenAttioLeafValue(dataEntries[0][1]);
35
+ return Object.fromEntries(dataEntries.map(([key, entryValue]) => [key, flattenAttioLeafValue(entryValue)]));
36
+ }
37
+ /**
38
+ * Flattens one attribute’s raw value (often an array of interaction rows from the REST API).
39
+ * @param preferArray When true, keep all entries as an array; when false, use the first entry only.
40
+ */
41
+ export function flattenAttioAttributeValue(rawValue, preferArray) {
42
+ if (!Array.isArray(rawValue))
43
+ return flattenAttioLeafValue(rawValue);
44
+ const flattened = rawValue.map(entry => flattenAttioLeafValue(entry)).filter(entry => entry !== undefined);
45
+ return preferArray ? flattened : flattened[0];
46
+ }
47
+ /**
48
+ * Flattens `record.values` from Attio’s GET record / webhook enrichment payload.
49
+ */
50
+ export function flattenAttioRecordValues(values, isMultiValueAttribute) {
51
+ const flattenedValues = {};
52
+ for (const [attributeSlug, rawValue] of Object.entries(values)) {
53
+ flattenedValues[attributeSlug] = flattenAttioAttributeValue(rawValue, isMultiValueAttribute(attributeSlug));
54
+ }
55
+ return flattenedValues;
56
+ }
57
+ /**
58
+ * Slug-only heuristic when object attribute metadata is unavailable (e.g. Attio webhook triggers).
59
+ * Prefer {@link flattenAttioRecordValues} with object-aware multi-value info from codegen when possible.
60
+ */
61
+ export function isProbablyAttioMultiValueAttributeSlug(attributeSlug) {
62
+ const slug = attributeSlug.toLowerCase();
63
+ return (slug === "email_addresses" ||
64
+ slug === "domains" ||
65
+ slug === "phone_numbers" ||
66
+ slug === "social_profiles" ||
67
+ slug === "links" ||
68
+ slug === "tags" ||
69
+ slug.endsWith("_addresses") ||
70
+ slug.endsWith("_ids"));
71
+ }
package/dist/Configs.d.ts CHANGED
@@ -18,6 +18,7 @@ export declare enum ConfigType {
18
18
  IMAGE_EDIT = "image_edit",
19
19
  WORKOS_INPUT = "workos_input",
20
20
  WORKOS_OUTPUT = "workos_output",
21
+ ATTIO_INPUT = "attio_input",
21
22
  ATTIO_OUTPUT = "attio_output",
22
23
  SNOWFLAKE_OUTPUT = "snowflake_output",
23
24
  WEBHOOK_INPUT = "webhook_input",
@@ -175,6 +176,14 @@ export declare const WorkOSOutputConfigMetadata: {
175
176
  readonly isInput: false;
176
177
  readonly isOutput: true;
177
178
  };
179
+ export declare const AttioInputConfigMetadata: {
180
+ readonly configType: ConfigType.ATTIO_INPUT;
181
+ readonly name: "Attio";
182
+ readonly description: "Trigger on Attio record events (created, updated, deleted)";
183
+ readonly integrationType: IntegrationType.ATTIO;
184
+ readonly isInput: true;
185
+ readonly isOutput: false;
186
+ };
178
187
  export declare const AttioOutputConfigMetadata: {
179
188
  readonly configType: ConfigType.ATTIO_OUTPUT;
180
189
  readonly name: "Attio";
@@ -288,6 +297,65 @@ export declare const heyReachEventTypeSchema: z.ZodEnum<{
288
297
  readonly LEAD_TAG_UPDATED: "LEAD_TAG_UPDATED";
289
298
  }>;
290
299
  export type HeyReachEventType = z.infer<typeof heyReachEventTypeSchema>;
300
+ export declare const AttioEventType: {
301
+ readonly CALL_RECORDING_CREATED: "call-recording.created";
302
+ readonly COMMENT_CREATED: "comment.created";
303
+ readonly COMMENT_RESOLVED: "comment.resolved";
304
+ readonly COMMENT_UNRESOLVED: "comment.unresolved";
305
+ readonly COMMENT_DELETED: "comment.deleted";
306
+ readonly LIST_CREATED: "list.created";
307
+ readonly LIST_UPDATED: "list.updated";
308
+ readonly LIST_DELETED: "list.deleted";
309
+ readonly LIST_ATTRIBUTE_CREATED: "list-attribute.created";
310
+ readonly LIST_ATTRIBUTE_UPDATED: "list-attribute.updated";
311
+ readonly LIST_ENTRY_CREATED: "list-entry.created";
312
+ readonly LIST_ENTRY_UPDATED: "list-entry.updated";
313
+ readonly LIST_ENTRY_DELETED: "list-entry.deleted";
314
+ readonly OBJECT_ATTRIBUTE_CREATED: "object-attribute.created";
315
+ readonly OBJECT_ATTRIBUTE_UPDATED: "object-attribute.updated";
316
+ readonly NOTE_CREATED: "note.created";
317
+ readonly NOTE_CONTENT_UPDATED: "note-content.updated";
318
+ readonly NOTE_UPDATED: "note.updated";
319
+ readonly NOTE_DELETED: "note.deleted";
320
+ readonly RECORD_CREATED: "record.created";
321
+ readonly RECORD_MERGED: "record.merged";
322
+ readonly RECORD_UPDATED: "record.updated";
323
+ readonly RECORD_DELETED: "record.deleted";
324
+ readonly TASK_CREATED: "task.created";
325
+ readonly TASK_UPDATED: "task.updated";
326
+ readonly TASK_DELETED: "task.deleted";
327
+ readonly WORKSPACE_MEMBER_CREATED: "workspace-member.created";
328
+ };
329
+ export declare const attioEventTypeSchema: z.ZodEnum<{
330
+ readonly CALL_RECORDING_CREATED: "call-recording.created";
331
+ readonly COMMENT_CREATED: "comment.created";
332
+ readonly COMMENT_RESOLVED: "comment.resolved";
333
+ readonly COMMENT_UNRESOLVED: "comment.unresolved";
334
+ readonly COMMENT_DELETED: "comment.deleted";
335
+ readonly LIST_CREATED: "list.created";
336
+ readonly LIST_UPDATED: "list.updated";
337
+ readonly LIST_DELETED: "list.deleted";
338
+ readonly LIST_ATTRIBUTE_CREATED: "list-attribute.created";
339
+ readonly LIST_ATTRIBUTE_UPDATED: "list-attribute.updated";
340
+ readonly LIST_ENTRY_CREATED: "list-entry.created";
341
+ readonly LIST_ENTRY_UPDATED: "list-entry.updated";
342
+ readonly LIST_ENTRY_DELETED: "list-entry.deleted";
343
+ readonly OBJECT_ATTRIBUTE_CREATED: "object-attribute.created";
344
+ readonly OBJECT_ATTRIBUTE_UPDATED: "object-attribute.updated";
345
+ readonly NOTE_CREATED: "note.created";
346
+ readonly NOTE_CONTENT_UPDATED: "note-content.updated";
347
+ readonly NOTE_UPDATED: "note.updated";
348
+ readonly NOTE_DELETED: "note.deleted";
349
+ readonly RECORD_CREATED: "record.created";
350
+ readonly RECORD_MERGED: "record.merged";
351
+ readonly RECORD_UPDATED: "record.updated";
352
+ readonly RECORD_DELETED: "record.deleted";
353
+ readonly TASK_CREATED: "task.created";
354
+ readonly TASK_UPDATED: "task.updated";
355
+ readonly TASK_DELETED: "task.deleted";
356
+ readonly WORKSPACE_MEMBER_CREATED: "workspace-member.created";
357
+ }>;
358
+ export type AttioEventType = z.infer<typeof attioEventTypeSchema>;
291
359
  export declare const WorkOSEventType: {
292
360
  readonly USER_CREATED: "user.created";
293
361
  readonly USER_UPDATED: "user.updated";
@@ -665,6 +733,158 @@ export declare class WorkOSOutputConfig extends BaseConfigInstance<IntegrationTy
665
733
  isComplete(): boolean;
666
734
  formatForAgent(): string;
667
735
  }
736
+ export declare const AttioFilterOperator: {
737
+ readonly EQUALS: "equals";
738
+ readonly NOT_EQUALS: "not_equals";
739
+ };
740
+ export declare const attioFilterOperatorSchema: z.ZodEnum<{
741
+ readonly EQUALS: "equals";
742
+ readonly NOT_EQUALS: "not_equals";
743
+ }>;
744
+ export type AttioFilterOperator = z.infer<typeof attioFilterOperatorSchema>;
745
+ export declare const attioFilterClauseSchema: z.ZodObject<{
746
+ field: z.ZodString;
747
+ operator: z.ZodEnum<{
748
+ readonly EQUALS: "equals";
749
+ readonly NOT_EQUALS: "not_equals";
750
+ }>;
751
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
752
+ }, z.core.$strip>;
753
+ export type AttioFilterClause = z.infer<typeof attioFilterClauseSchema>;
754
+ export declare const attioFilterSchema: z.ZodUnion<readonly [z.ZodObject<{
755
+ $and: z.ZodArray<z.ZodObject<{
756
+ field: z.ZodString;
757
+ operator: z.ZodEnum<{
758
+ readonly EQUALS: "equals";
759
+ readonly NOT_EQUALS: "not_equals";
760
+ }>;
761
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
762
+ }, z.core.$strip>>;
763
+ }, z.core.$strip>, z.ZodObject<{
764
+ $or: z.ZodArray<z.ZodObject<{
765
+ field: z.ZodString;
766
+ operator: z.ZodEnum<{
767
+ readonly EQUALS: "equals";
768
+ readonly NOT_EQUALS: "not_equals";
769
+ }>;
770
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
771
+ }, z.core.$strip>>;
772
+ }, z.core.$strip>]>;
773
+ export type AttioFilter = z.infer<typeof attioFilterSchema>;
774
+ export declare const attioSubscriptionSchema: z.ZodObject<{
775
+ eventType: z.ZodEnum<{
776
+ readonly CALL_RECORDING_CREATED: "call-recording.created";
777
+ readonly COMMENT_CREATED: "comment.created";
778
+ readonly COMMENT_RESOLVED: "comment.resolved";
779
+ readonly COMMENT_UNRESOLVED: "comment.unresolved";
780
+ readonly COMMENT_DELETED: "comment.deleted";
781
+ readonly LIST_CREATED: "list.created";
782
+ readonly LIST_UPDATED: "list.updated";
783
+ readonly LIST_DELETED: "list.deleted";
784
+ readonly LIST_ATTRIBUTE_CREATED: "list-attribute.created";
785
+ readonly LIST_ATTRIBUTE_UPDATED: "list-attribute.updated";
786
+ readonly LIST_ENTRY_CREATED: "list-entry.created";
787
+ readonly LIST_ENTRY_UPDATED: "list-entry.updated";
788
+ readonly LIST_ENTRY_DELETED: "list-entry.deleted";
789
+ readonly OBJECT_ATTRIBUTE_CREATED: "object-attribute.created";
790
+ readonly OBJECT_ATTRIBUTE_UPDATED: "object-attribute.updated";
791
+ readonly NOTE_CREATED: "note.created";
792
+ readonly NOTE_CONTENT_UPDATED: "note-content.updated";
793
+ readonly NOTE_UPDATED: "note.updated";
794
+ readonly NOTE_DELETED: "note.deleted";
795
+ readonly RECORD_CREATED: "record.created";
796
+ readonly RECORD_MERGED: "record.merged";
797
+ readonly RECORD_UPDATED: "record.updated";
798
+ readonly RECORD_DELETED: "record.deleted";
799
+ readonly TASK_CREATED: "task.created";
800
+ readonly TASK_UPDATED: "task.updated";
801
+ readonly TASK_DELETED: "task.deleted";
802
+ readonly WORKSPACE_MEMBER_CREATED: "workspace-member.created";
803
+ }>;
804
+ filter: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodObject<{
805
+ $and: z.ZodArray<z.ZodObject<{
806
+ field: z.ZodString;
807
+ operator: z.ZodEnum<{
808
+ readonly EQUALS: "equals";
809
+ readonly NOT_EQUALS: "not_equals";
810
+ }>;
811
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
812
+ }, z.core.$strip>>;
813
+ }, z.core.$strip>, z.ZodObject<{
814
+ $or: z.ZodArray<z.ZodObject<{
815
+ field: z.ZodString;
816
+ operator: z.ZodEnum<{
817
+ readonly EQUALS: "equals";
818
+ readonly NOT_EQUALS: "not_equals";
819
+ }>;
820
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
821
+ }, z.core.$strip>>;
822
+ }, z.core.$strip>]>>>;
823
+ }, z.core.$strip>;
824
+ export type AttioSubscription = z.infer<typeof attioSubscriptionSchema>;
825
+ export declare const AttioInputConfigSchema: z.ZodObject<{
826
+ integrationId: z.ZodString;
827
+ integrationType: z.ZodLiteral<IntegrationType.ATTIO>;
828
+ configType: z.ZodLiteral<ConfigType.ATTIO_INPUT>;
829
+ subscriptions: z.ZodDefault<z.ZodArray<z.ZodObject<{
830
+ eventType: z.ZodEnum<{
831
+ readonly CALL_RECORDING_CREATED: "call-recording.created";
832
+ readonly COMMENT_CREATED: "comment.created";
833
+ readonly COMMENT_RESOLVED: "comment.resolved";
834
+ readonly COMMENT_UNRESOLVED: "comment.unresolved";
835
+ readonly COMMENT_DELETED: "comment.deleted";
836
+ readonly LIST_CREATED: "list.created";
837
+ readonly LIST_UPDATED: "list.updated";
838
+ readonly LIST_DELETED: "list.deleted";
839
+ readonly LIST_ATTRIBUTE_CREATED: "list-attribute.created";
840
+ readonly LIST_ATTRIBUTE_UPDATED: "list-attribute.updated";
841
+ readonly LIST_ENTRY_CREATED: "list-entry.created";
842
+ readonly LIST_ENTRY_UPDATED: "list-entry.updated";
843
+ readonly LIST_ENTRY_DELETED: "list-entry.deleted";
844
+ readonly OBJECT_ATTRIBUTE_CREATED: "object-attribute.created";
845
+ readonly OBJECT_ATTRIBUTE_UPDATED: "object-attribute.updated";
846
+ readonly NOTE_CREATED: "note.created";
847
+ readonly NOTE_CONTENT_UPDATED: "note-content.updated";
848
+ readonly NOTE_UPDATED: "note.updated";
849
+ readonly NOTE_DELETED: "note.deleted";
850
+ readonly RECORD_CREATED: "record.created";
851
+ readonly RECORD_MERGED: "record.merged";
852
+ readonly RECORD_UPDATED: "record.updated";
853
+ readonly RECORD_DELETED: "record.deleted";
854
+ readonly TASK_CREATED: "task.created";
855
+ readonly TASK_UPDATED: "task.updated";
856
+ readonly TASK_DELETED: "task.deleted";
857
+ readonly WORKSPACE_MEMBER_CREATED: "workspace-member.created";
858
+ }>;
859
+ filter: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodObject<{
860
+ $and: z.ZodArray<z.ZodObject<{
861
+ field: z.ZodString;
862
+ operator: z.ZodEnum<{
863
+ readonly EQUALS: "equals";
864
+ readonly NOT_EQUALS: "not_equals";
865
+ }>;
866
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
867
+ }, z.core.$strip>>;
868
+ }, z.core.$strip>, z.ZodObject<{
869
+ $or: z.ZodArray<z.ZodObject<{
870
+ field: z.ZodString;
871
+ operator: z.ZodEnum<{
872
+ readonly EQUALS: "equals";
873
+ readonly NOT_EQUALS: "not_equals";
874
+ }>;
875
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
876
+ }, z.core.$strip>>;
877
+ }, z.core.$strip>]>>>;
878
+ }, z.core.$strip>>>;
879
+ }, z.core.$strip>;
880
+ export type AttioInputConfigData = z.infer<typeof AttioInputConfigSchema>;
881
+ export type AttioInputConfigInstance = AttioInputConfigData & ConfigBehavior;
882
+ export declare class AttioInputConfig extends BaseConfigInstance<IntegrationType.ATTIO, ConfigType.ATTIO_INPUT> implements AttioInputConfigInstance {
883
+ subscriptions: AttioSubscription[];
884
+ constructor(integrationId: string, subscriptions?: AttioSubscription[]);
885
+ isComplete(): boolean;
886
+ formatForAgent(): string;
887
+ }
668
888
  export declare const AttioOutputConfigSchema: z.ZodObject<{
669
889
  integrationId: z.ZodString;
670
890
  integrationType: z.ZodLiteral<IntegrationType.ATTIO>;
@@ -878,6 +1098,60 @@ export declare const configDataSchema: z.ZodUnion<readonly [z.ZodObject<{
878
1098
  integrationId: z.ZodString;
879
1099
  integrationType: z.ZodLiteral<IntegrationType.WORKOS>;
880
1100
  configType: z.ZodLiteral<ConfigType.WORKOS_OUTPUT>;
1101
+ }, z.core.$strip>, z.ZodObject<{
1102
+ integrationId: z.ZodString;
1103
+ integrationType: z.ZodLiteral<IntegrationType.ATTIO>;
1104
+ configType: z.ZodLiteral<ConfigType.ATTIO_INPUT>;
1105
+ subscriptions: z.ZodDefault<z.ZodArray<z.ZodObject<{
1106
+ eventType: z.ZodEnum<{
1107
+ readonly CALL_RECORDING_CREATED: "call-recording.created";
1108
+ readonly COMMENT_CREATED: "comment.created";
1109
+ readonly COMMENT_RESOLVED: "comment.resolved";
1110
+ readonly COMMENT_UNRESOLVED: "comment.unresolved";
1111
+ readonly COMMENT_DELETED: "comment.deleted";
1112
+ readonly LIST_CREATED: "list.created";
1113
+ readonly LIST_UPDATED: "list.updated";
1114
+ readonly LIST_DELETED: "list.deleted";
1115
+ readonly LIST_ATTRIBUTE_CREATED: "list-attribute.created";
1116
+ readonly LIST_ATTRIBUTE_UPDATED: "list-attribute.updated";
1117
+ readonly LIST_ENTRY_CREATED: "list-entry.created";
1118
+ readonly LIST_ENTRY_UPDATED: "list-entry.updated";
1119
+ readonly LIST_ENTRY_DELETED: "list-entry.deleted";
1120
+ readonly OBJECT_ATTRIBUTE_CREATED: "object-attribute.created";
1121
+ readonly OBJECT_ATTRIBUTE_UPDATED: "object-attribute.updated";
1122
+ readonly NOTE_CREATED: "note.created";
1123
+ readonly NOTE_CONTENT_UPDATED: "note-content.updated";
1124
+ readonly NOTE_UPDATED: "note.updated";
1125
+ readonly NOTE_DELETED: "note.deleted";
1126
+ readonly RECORD_CREATED: "record.created";
1127
+ readonly RECORD_MERGED: "record.merged";
1128
+ readonly RECORD_UPDATED: "record.updated";
1129
+ readonly RECORD_DELETED: "record.deleted";
1130
+ readonly TASK_CREATED: "task.created";
1131
+ readonly TASK_UPDATED: "task.updated";
1132
+ readonly TASK_DELETED: "task.deleted";
1133
+ readonly WORKSPACE_MEMBER_CREATED: "workspace-member.created";
1134
+ }>;
1135
+ filter: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodObject<{
1136
+ $and: z.ZodArray<z.ZodObject<{
1137
+ field: z.ZodString;
1138
+ operator: z.ZodEnum<{
1139
+ readonly EQUALS: "equals";
1140
+ readonly NOT_EQUALS: "not_equals";
1141
+ }>;
1142
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
1143
+ }, z.core.$strip>>;
1144
+ }, z.core.$strip>, z.ZodObject<{
1145
+ $or: z.ZodArray<z.ZodObject<{
1146
+ field: z.ZodString;
1147
+ operator: z.ZodEnum<{
1148
+ readonly EQUALS: "equals";
1149
+ readonly NOT_EQUALS: "not_equals";
1150
+ }>;
1151
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
1152
+ }, z.core.$strip>>;
1153
+ }, z.core.$strip>]>>>;
1154
+ }, z.core.$strip>>>;
881
1155
  }, z.core.$strip>, z.ZodObject<{
882
1156
  integrationId: z.ZodString;
883
1157
  integrationType: z.ZodLiteral<IntegrationType.ATTIO>;
@@ -997,6 +1271,60 @@ export declare const triggerConfigDataSchema: z.ZodUnion<readonly [z.ZodObject<{
997
1271
  readonly INVITATION_RESENT: "invitation.resent";
998
1272
  readonly INVITATION_REVOKED: "invitation.revoked";
999
1273
  }>>>;
1274
+ }, z.core.$strip>, z.ZodObject<{
1275
+ integrationId: z.ZodString;
1276
+ integrationType: z.ZodLiteral<IntegrationType.ATTIO>;
1277
+ configType: z.ZodLiteral<ConfigType.ATTIO_INPUT>;
1278
+ subscriptions: z.ZodDefault<z.ZodArray<z.ZodObject<{
1279
+ eventType: z.ZodEnum<{
1280
+ readonly CALL_RECORDING_CREATED: "call-recording.created";
1281
+ readonly COMMENT_CREATED: "comment.created";
1282
+ readonly COMMENT_RESOLVED: "comment.resolved";
1283
+ readonly COMMENT_UNRESOLVED: "comment.unresolved";
1284
+ readonly COMMENT_DELETED: "comment.deleted";
1285
+ readonly LIST_CREATED: "list.created";
1286
+ readonly LIST_UPDATED: "list.updated";
1287
+ readonly LIST_DELETED: "list.deleted";
1288
+ readonly LIST_ATTRIBUTE_CREATED: "list-attribute.created";
1289
+ readonly LIST_ATTRIBUTE_UPDATED: "list-attribute.updated";
1290
+ readonly LIST_ENTRY_CREATED: "list-entry.created";
1291
+ readonly LIST_ENTRY_UPDATED: "list-entry.updated";
1292
+ readonly LIST_ENTRY_DELETED: "list-entry.deleted";
1293
+ readonly OBJECT_ATTRIBUTE_CREATED: "object-attribute.created";
1294
+ readonly OBJECT_ATTRIBUTE_UPDATED: "object-attribute.updated";
1295
+ readonly NOTE_CREATED: "note.created";
1296
+ readonly NOTE_CONTENT_UPDATED: "note-content.updated";
1297
+ readonly NOTE_UPDATED: "note.updated";
1298
+ readonly NOTE_DELETED: "note.deleted";
1299
+ readonly RECORD_CREATED: "record.created";
1300
+ readonly RECORD_MERGED: "record.merged";
1301
+ readonly RECORD_UPDATED: "record.updated";
1302
+ readonly RECORD_DELETED: "record.deleted";
1303
+ readonly TASK_CREATED: "task.created";
1304
+ readonly TASK_UPDATED: "task.updated";
1305
+ readonly TASK_DELETED: "task.deleted";
1306
+ readonly WORKSPACE_MEMBER_CREATED: "workspace-member.created";
1307
+ }>;
1308
+ filter: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodObject<{
1309
+ $and: z.ZodArray<z.ZodObject<{
1310
+ field: z.ZodString;
1311
+ operator: z.ZodEnum<{
1312
+ readonly EQUALS: "equals";
1313
+ readonly NOT_EQUALS: "not_equals";
1314
+ }>;
1315
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
1316
+ }, z.core.$strip>>;
1317
+ }, z.core.$strip>, z.ZodObject<{
1318
+ $or: z.ZodArray<z.ZodObject<{
1319
+ field: z.ZodString;
1320
+ operator: z.ZodEnum<{
1321
+ readonly EQUALS: "equals";
1322
+ readonly NOT_EQUALS: "not_equals";
1323
+ }>;
1324
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
1325
+ }, z.core.$strip>>;
1326
+ }, z.core.$strip>]>>>;
1327
+ }, z.core.$strip>>>;
1000
1328
  }, z.core.$strip>, z.ZodObject<{
1001
1329
  integrationId: z.ZodLiteral<"system">;
1002
1330
  integrationType: z.ZodLiteral<IntegrationType.WEBHOOK>;
@@ -1140,6 +1468,7 @@ export type ConfigMetadataMap = EnsureExhaustiveMetadata<{
1140
1468
  [ConfigType.IMAGE_EDIT]: typeof ImageEditConfig;
1141
1469
  [ConfigType.WORKOS_INPUT]: typeof WorkOSInputConfig;
1142
1470
  [ConfigType.WORKOS_OUTPUT]: typeof WorkOSOutputConfig;
1471
+ [ConfigType.ATTIO_INPUT]: typeof AttioInputConfig;
1143
1472
  [ConfigType.ATTIO_OUTPUT]: typeof AttioOutputConfig;
1144
1473
  [ConfigType.SNOWFLAKE_OUTPUT]: typeof SnowflakeOutputConfig;
1145
1474
  [ConfigType.WEBHOOK_INPUT]: typeof WebhookInputConfig;