@keystrokehq/plain 0.1.2 → 0.1.4
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/actions/add-customer-to-group.cjs +7 -7
- package/dist/actions/add-customer-to-group.cjs.map +1 -1
- package/dist/actions/add-customer-to-group.d.cts +8 -7
- package/dist/actions/add-customer-to-group.d.mts +8 -7
- package/dist/actions/add-customer-to-group.mjs +7 -7
- package/dist/actions/add-customer-to-group.mjs.map +1 -1
- package/dist/actions/create-customer-group.cjs +5 -5
- package/dist/actions/create-customer-group.cjs.map +1 -1
- package/dist/actions/create-customer-group.d.cts +6 -6
- package/dist/actions/create-customer-group.d.mts +6 -6
- package/dist/actions/create-customer-group.mjs +5 -5
- package/dist/actions/create-customer-group.mjs.map +1 -1
- package/dist/actions/create-thread.cjs +10 -10
- package/dist/actions/create-thread.cjs.map +1 -1
- package/dist/actions/create-thread.d.cts +11 -10
- package/dist/actions/create-thread.d.mts +11 -10
- package/dist/actions/create-thread.mjs +10 -10
- package/dist/actions/create-thread.mjs.map +1 -1
- package/dist/actions/delete-customer.cjs +3 -3
- package/dist/actions/delete-customer.cjs.map +1 -1
- package/dist/actions/delete-customer.d.cts +3 -3
- package/dist/actions/delete-customer.d.mts +3 -3
- package/dist/actions/delete-customer.mjs +3 -3
- package/dist/actions/delete-customer.mjs.map +1 -1
- package/dist/actions/delete-user.cjs +3 -3
- package/dist/actions/delete-user.cjs.map +1 -1
- package/dist/actions/delete-user.d.cts +3 -3
- package/dist/actions/delete-user.d.mts +3 -3
- package/dist/actions/delete-user.mjs +3 -3
- package/dist/actions/delete-user.mjs.map +1 -1
- package/dist/actions/fetch-company.cjs +3 -3
- package/dist/actions/fetch-company.cjs.map +1 -1
- package/dist/actions/fetch-company.d.cts +4 -4
- package/dist/actions/fetch-company.d.mts +4 -4
- package/dist/actions/fetch-company.mjs +3 -3
- package/dist/actions/fetch-company.mjs.map +1 -1
- package/dist/actions/fetch-issues.cjs +2 -2
- package/dist/actions/fetch-issues.cjs.map +1 -1
- package/dist/actions/fetch-issues.d.cts +2 -2
- package/dist/actions/fetch-issues.d.mts +2 -2
- package/dist/actions/fetch-issues.mjs +2 -2
- package/dist/actions/fetch-issues.mjs.map +1 -1
- package/dist/actions/fetch-tier.cjs +3 -3
- package/dist/actions/fetch-tier.cjs.map +1 -1
- package/dist/actions/fetch-tier.d.cts +4 -4
- package/dist/actions/fetch-tier.d.mts +4 -4
- package/dist/actions/fetch-tier.mjs +3 -3
- package/dist/actions/fetch-tier.mjs.map +1 -1
- package/dist/actions/get-customer-by-email.cjs +5 -5
- package/dist/actions/get-customer-by-email.cjs.map +1 -1
- package/dist/actions/get-customer-by-email.d.cts +6 -6
- package/dist/actions/get-customer-by-email.d.mts +6 -6
- package/dist/actions/get-customer-by-email.mjs +5 -5
- package/dist/actions/get-customer-by-email.mjs.map +1 -1
- package/dist/actions/get-customer-by-id.cjs +1 -1
- package/dist/actions/get-customer-by-id.cjs.map +1 -1
- package/dist/actions/get-customer-by-id.d.cts +1 -1
- package/dist/actions/get-customer-by-id.d.mts +1 -1
- package/dist/actions/get-customer-by-id.mjs +1 -1
- package/dist/actions/get-customer-by-id.mjs.map +1 -1
- package/dist/actions/get-customers.cjs +7 -7
- package/dist/actions/get-customers.cjs.map +1 -1
- package/dist/actions/get-customers.d.cts +7 -7
- package/dist/actions/get-customers.d.mts +7 -7
- package/dist/actions/get-customers.mjs +7 -7
- package/dist/actions/get-customers.mjs.map +1 -1
- package/dist/actions/get-thread-by-id.cjs +9 -9
- package/dist/actions/get-thread-by-id.cjs.map +1 -1
- package/dist/actions/get-thread-by-id.d.cts +15 -15
- package/dist/actions/get-thread-by-id.d.mts +15 -15
- package/dist/actions/get-thread-by-id.mjs +9 -9
- package/dist/actions/get-thread-by-id.mjs.map +1 -1
- package/dist/actions/get-user-by-id.cjs +4 -4
- package/dist/actions/get-user-by-id.cjs.map +1 -1
- package/dist/actions/get-user-by-id.d.cts +4 -4
- package/dist/actions/get-user-by-id.d.mts +4 -4
- package/dist/actions/get-user-by-id.mjs +4 -4
- package/dist/actions/get-user-by-id.mjs.map +1 -1
- package/dist/actions/list-customer-groups.cjs +5 -5
- package/dist/actions/list-customer-groups.cjs.map +1 -1
- package/dist/actions/list-customer-groups.d.cts +5 -5
- package/dist/actions/list-customer-groups.d.mts +5 -5
- package/dist/actions/list-customer-groups.mjs +5 -5
- package/dist/actions/list-customer-groups.mjs.map +1 -1
- package/dist/actions/list-tiers.cjs +5 -5
- package/dist/actions/list-tiers.cjs.map +1 -1
- package/dist/actions/list-tiers.d.cts +5 -5
- package/dist/actions/list-tiers.d.mts +5 -5
- package/dist/actions/list-tiers.mjs +5 -5
- package/dist/actions/list-tiers.mjs.map +1 -1
- package/dist/actions/query-threads.cjs +7 -7
- package/dist/actions/query-threads.cjs.map +1 -1
- package/dist/actions/query-threads.d.cts +7 -7
- package/dist/actions/query-threads.d.mts +7 -7
- package/dist/actions/query-threads.mjs +7 -7
- package/dist/actions/query-threads.mjs.map +1 -1
- package/dist/actions/remove-customer-from-group.cjs +4 -4
- package/dist/actions/remove-customer-from-group.cjs.map +1 -1
- package/dist/actions/remove-customer-from-group.d.cts +5 -4
- package/dist/actions/remove-customer-from-group.d.mts +5 -4
- package/dist/actions/remove-customer-from-group.mjs +4 -4
- package/dist/actions/remove-customer-from-group.mjs.map +1 -1
- package/dist/actions/run-graphql-query.cjs +4 -4
- package/dist/actions/run-graphql-query.cjs.map +1 -1
- package/dist/actions/run-graphql-query.d.cts +4 -4
- package/dist/actions/run-graphql-query.d.mts +4 -4
- package/dist/actions/run-graphql-query.mjs +4 -4
- package/dist/actions/run-graphql-query.mjs.map +1 -1
- package/dist/actions/send-message.cjs +5 -5
- package/dist/actions/send-message.cjs.map +1 -1
- package/dist/actions/send-message.d.cts +7 -5
- package/dist/actions/send-message.d.mts +7 -5
- package/dist/actions/send-message.mjs +5 -5
- package/dist/actions/send-message.mjs.map +1 -1
- package/dist/actions/update-company.cjs +5 -5
- package/dist/actions/update-company.cjs.map +1 -1
- package/dist/actions/update-company.d.cts +5 -5
- package/dist/actions/update-company.d.mts +5 -5
- package/dist/actions/update-company.mjs +5 -5
- package/dist/actions/update-company.mjs.map +1 -1
- package/dist/actions/update-thread.cjs +5 -5
- package/dist/actions/update-thread.cjs.map +1 -1
- package/dist/actions/update-thread.d.cts +5 -5
- package/dist/actions/update-thread.d.mts +5 -5
- package/dist/actions/update-thread.mjs +5 -5
- package/dist/actions/update-thread.mjs.map +1 -1
- package/dist/actions/upsert-customer.cjs +7 -7
- package/dist/actions/upsert-customer.cjs.map +1 -1
- package/dist/actions/upsert-customer.d.cts +9 -7
- package/dist/actions/upsert-customer.d.mts +9 -7
- package/dist/actions/upsert-customer.mjs +7 -7
- package/dist/actions/upsert-customer.mjs.map +1 -1
- package/dist/catalog.cjs +1 -1
- package/dist/catalog.cjs.map +1 -1
- package/dist/catalog.d.cts +1 -1
- package/dist/catalog.d.mts +1 -1
- package/dist/catalog.mjs +1 -1
- package/dist/catalog.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -13,12 +13,12 @@ declare const PlainUpsertCustomerInput: z.ZodObject<{
|
|
|
13
13
|
tenantIdentifiers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
14
14
|
tenantId: z.ZodOptional<z.ZodString>;
|
|
15
15
|
external_id: z.ZodOptional<z.ZodString>;
|
|
16
|
-
}, z.core.$
|
|
16
|
+
}, z.core.$loose>>>;
|
|
17
17
|
customerGroupIdentifiers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
18
18
|
external_id: z.ZodOptional<z.ZodString>;
|
|
19
19
|
customerGroupId: z.ZodOptional<z.ZodString>;
|
|
20
20
|
customerGroupKey: z.ZodOptional<z.ZodString>;
|
|
21
|
-
}, z.core.$
|
|
21
|
+
}, z.core.$loose>>>;
|
|
22
22
|
}, z.core.$strip>;
|
|
23
23
|
onUpdate: z.ZodObject<{
|
|
24
24
|
email: z.ZodOptional<z.ZodObject<{
|
|
@@ -52,9 +52,9 @@ declare const PlainUpsertCustomerOutput: z.ZodObject<{
|
|
|
52
52
|
}>>;
|
|
53
53
|
field: z.ZodNullable<z.ZodString>;
|
|
54
54
|
message: z.ZodNullable<z.ZodString>;
|
|
55
|
-
}, z.core.$
|
|
55
|
+
}, z.core.$loose>>>;
|
|
56
56
|
message: z.ZodNullable<z.ZodString>;
|
|
57
|
-
}, z.core.$
|
|
57
|
+
}, z.core.$loose>>;
|
|
58
58
|
result: z.ZodNullable<z.ZodEnum<{
|
|
59
59
|
CREATED: "CREATED";
|
|
60
60
|
UPDATED: "UPDATED";
|
|
@@ -65,12 +65,12 @@ declare const PlainUpsertCustomerOutput: z.ZodObject<{
|
|
|
65
65
|
email: z.ZodNullable<z.ZodObject<{
|
|
66
66
|
email: z.ZodNullable<z.ZodString>;
|
|
67
67
|
isVerified: z.ZodNullable<z.ZodBoolean>;
|
|
68
|
-
}, z.core.$
|
|
68
|
+
}, z.core.$loose>>;
|
|
69
69
|
fullName: z.ZodNullable<z.ZodString>;
|
|
70
70
|
shortName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
71
71
|
externalId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
72
|
-
}, z.core.$
|
|
73
|
-
}, z.core.$
|
|
72
|
+
}, z.core.$loose>>;
|
|
73
|
+
}, z.core.$loose>;
|
|
74
74
|
declare const plainUpsertCustomer: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
75
75
|
onCreate: {
|
|
76
76
|
email: {
|
|
@@ -81,10 +81,12 @@ declare const plainUpsertCustomer: import("@keystrokehq/action").WorkflowActionD
|
|
|
81
81
|
shortName?: string | undefined;
|
|
82
82
|
externalId?: string | undefined;
|
|
83
83
|
tenantIdentifiers?: {
|
|
84
|
+
[x: string]: unknown;
|
|
84
85
|
tenantId?: string | undefined;
|
|
85
86
|
external_id?: string | undefined;
|
|
86
87
|
}[] | undefined;
|
|
87
88
|
customerGroupIdentifiers?: {
|
|
89
|
+
[x: string]: unknown;
|
|
88
90
|
external_id?: string | undefined;
|
|
89
91
|
customerGroupId?: string | undefined;
|
|
90
92
|
customerGroupKey?: string | undefined;
|
|
@@ -13,12 +13,12 @@ declare const PlainUpsertCustomerInput: z.ZodObject<{
|
|
|
13
13
|
tenantIdentifiers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
14
14
|
tenantId: z.ZodOptional<z.ZodString>;
|
|
15
15
|
external_id: z.ZodOptional<z.ZodString>;
|
|
16
|
-
}, z.core.$
|
|
16
|
+
}, z.core.$loose>>>;
|
|
17
17
|
customerGroupIdentifiers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
18
18
|
external_id: z.ZodOptional<z.ZodString>;
|
|
19
19
|
customerGroupId: z.ZodOptional<z.ZodString>;
|
|
20
20
|
customerGroupKey: z.ZodOptional<z.ZodString>;
|
|
21
|
-
}, z.core.$
|
|
21
|
+
}, z.core.$loose>>>;
|
|
22
22
|
}, z.core.$strip>;
|
|
23
23
|
onUpdate: z.ZodObject<{
|
|
24
24
|
email: z.ZodOptional<z.ZodObject<{
|
|
@@ -52,9 +52,9 @@ declare const PlainUpsertCustomerOutput: z.ZodObject<{
|
|
|
52
52
|
}>>;
|
|
53
53
|
field: z.ZodNullable<z.ZodString>;
|
|
54
54
|
message: z.ZodNullable<z.ZodString>;
|
|
55
|
-
}, z.core.$
|
|
55
|
+
}, z.core.$loose>>>;
|
|
56
56
|
message: z.ZodNullable<z.ZodString>;
|
|
57
|
-
}, z.core.$
|
|
57
|
+
}, z.core.$loose>>;
|
|
58
58
|
result: z.ZodNullable<z.ZodEnum<{
|
|
59
59
|
CREATED: "CREATED";
|
|
60
60
|
UPDATED: "UPDATED";
|
|
@@ -65,12 +65,12 @@ declare const PlainUpsertCustomerOutput: z.ZodObject<{
|
|
|
65
65
|
email: z.ZodNullable<z.ZodObject<{
|
|
66
66
|
email: z.ZodNullable<z.ZodString>;
|
|
67
67
|
isVerified: z.ZodNullable<z.ZodBoolean>;
|
|
68
|
-
}, z.core.$
|
|
68
|
+
}, z.core.$loose>>;
|
|
69
69
|
fullName: z.ZodNullable<z.ZodString>;
|
|
70
70
|
shortName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
71
71
|
externalId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
72
|
-
}, z.core.$
|
|
73
|
-
}, z.core.$
|
|
72
|
+
}, z.core.$loose>>;
|
|
73
|
+
}, z.core.$loose>;
|
|
74
74
|
declare const plainUpsertCustomer: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
75
75
|
onCreate: {
|
|
76
76
|
email: {
|
|
@@ -81,10 +81,12 @@ declare const plainUpsertCustomer: import("@keystrokehq/action").WorkflowActionD
|
|
|
81
81
|
shortName?: string | undefined;
|
|
82
82
|
externalId?: string | undefined;
|
|
83
83
|
tenantIdentifiers?: {
|
|
84
|
+
[x: string]: unknown;
|
|
84
85
|
tenantId?: string | undefined;
|
|
85
86
|
external_id?: string | undefined;
|
|
86
87
|
}[] | undefined;
|
|
87
88
|
customerGroupIdentifiers?: {
|
|
89
|
+
[x: string]: unknown;
|
|
88
90
|
external_id?: string | undefined;
|
|
89
91
|
customerGroupId?: string | undefined;
|
|
90
92
|
customerGroupKey?: string | undefined;
|
|
@@ -13,12 +13,12 @@ const PlainUpsertCustomerInput = z.object({
|
|
|
13
13
|
tenantIdentifiers: z.array(z.object({
|
|
14
14
|
tenantId: z.string().describe("Plain internal ID of the tenant.").optional(),
|
|
15
15
|
external_id: z.string().describe("External ID of the tenant.").optional()
|
|
16
|
-
}).describe("Identifier for a tenant. Provide exactly one field.")).describe("Tenants to assign on create.").optional(),
|
|
16
|
+
}).passthrough().describe("Identifier for a tenant. Provide exactly one field.")).describe("Tenants to assign on create.").optional(),
|
|
17
17
|
customerGroupIdentifiers: z.array(z.object({
|
|
18
18
|
external_id: z.string().describe("Your external ID for the customer group.").optional(),
|
|
19
19
|
customerGroupId: z.string().describe("Plain internal ID of the customer group.").optional(),
|
|
20
20
|
customerGroupKey: z.string().describe("Unique key of the customer group.").optional()
|
|
21
|
-
}).describe("Identifier for a customer group. Provide exactly one field.")).describe("Groups to assign on create.").optional()
|
|
21
|
+
}).passthrough().describe("Identifier for a customer group. Provide exactly one field.")).describe("Groups to assign on create.").optional()
|
|
22
22
|
}).describe("Details for creation if not found."),
|
|
23
23
|
onUpdate: z.object({
|
|
24
24
|
email: z.object({
|
|
@@ -43,23 +43,23 @@ const PlainUpsertCustomer_MutationFieldErrorSchema = z.object({
|
|
|
43
43
|
]).nullable(),
|
|
44
44
|
field: z.string().nullable(),
|
|
45
45
|
message: z.string().nullable()
|
|
46
|
-
});
|
|
46
|
+
}).passthrough();
|
|
47
47
|
const PlainUpsertCustomer_MutationErrorSchema = z.object({
|
|
48
48
|
code: z.string().nullable(),
|
|
49
49
|
fields: z.array(PlainUpsertCustomer_MutationFieldErrorSchema).nullable(),
|
|
50
50
|
message: z.string().nullable()
|
|
51
|
-
});
|
|
51
|
+
}).passthrough();
|
|
52
52
|
const PlainUpsertCustomer_EmailAddressInputSchema = z.object({
|
|
53
53
|
email: z.string().describe("The customer's email address.").nullable(),
|
|
54
54
|
isVerified: z.boolean().describe("Whether the email address is already verified.").nullable()
|
|
55
|
-
}).describe("Input object for email address with verification status.");
|
|
55
|
+
}).passthrough().describe("Input object for email address with verification status.");
|
|
56
56
|
const PlainUpsertCustomer_CustomerResponseSchema = z.object({
|
|
57
57
|
id: z.string().nullable(),
|
|
58
58
|
email: PlainUpsertCustomer_EmailAddressInputSchema.nullable(),
|
|
59
59
|
fullName: z.string().nullable(),
|
|
60
60
|
shortName: z.string().nullable().optional(),
|
|
61
61
|
externalId: z.string().nullable().optional()
|
|
62
|
-
});
|
|
62
|
+
}).passthrough();
|
|
63
63
|
const plainUpsertCustomer = action("PLAIN_UPSERT_CUSTOMER", {
|
|
64
64
|
slug: "plain-upsert-customer",
|
|
65
65
|
name: "Upsert Customer",
|
|
@@ -73,7 +73,7 @@ const plainUpsertCustomer = action("PLAIN_UPSERT_CUSTOMER", {
|
|
|
73
73
|
"NOOP"
|
|
74
74
|
]).nullable(),
|
|
75
75
|
customer: PlainUpsertCustomer_CustomerResponseSchema.nullable()
|
|
76
|
-
})
|
|
76
|
+
}).passthrough()
|
|
77
77
|
});
|
|
78
78
|
//#endregion
|
|
79
79
|
export { plainUpsertCustomer };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upsert-customer.mjs","names":[],"sources":["../../src/actions/upsert-customer.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PlainUpsertCustomerInput = z.object({\n onCreate: z.object({\n email: z.object({\n email: z.string().describe(\"The customer's email address.\"),\n isVerified: z.boolean().describe(\"Whether the email address is already verified.\"),\n}).describe(\"Email details for the new customer.\"),\n fullName: z.string().describe(\"Full name for the new customer.\"),\n shortName: z.string().describe(\"Optional short name for the new customer.\").optional(),\n externalId: z.string().describe(\"External ID to set on customer creation.\").optional(),\n tenantIdentifiers: z.array(z.object({\n tenantId: z.string().describe(\"Plain internal ID of the tenant.\").optional(),\n external_id: z.string().describe(\"External ID of the tenant.\").optional(),\n}).describe(\"Identifier for a tenant. Provide exactly one field.\")).describe(\"Tenants to assign on create.\").optional(),\n customerGroupIdentifiers: z.array(z.object({\n external_id: z.string().describe(\"Your external ID for the customer group.\").optional(),\n customerGroupId: z.string().describe(\"Plain internal ID of the customer group.\").optional(),\n customerGroupKey: z.string().describe(\"Unique key of the customer group.\").optional(),\n}).describe(\"Identifier for a customer group. Provide exactly one field.\")).describe(\"Groups to assign on create.\").optional(),\n}).describe(\"Details for creation if not found.\"),\n onUpdate: z.object({\n email: z.object({\n email: z.string().describe(\"The customer's email address.\"),\n isVerified: z.boolean().describe(\"Whether the email address is already verified.\"),\n}).describe(\"Input object for email address with verification status.\").optional(),\n fullName: z.object({\n value: z.string().describe(\"The string value to set.\"),\n}).describe(\"Wrapper for required string inputs in onUpdate.\").optional(),\n shortName: z.object({\n value: z.string().describe(\"The optional string value to set.\").optional(),\n}).describe(\"Wrapper for optional string inputs in onUpdate.\").optional(),\n externalId: z.object({\n value: z.string().describe(\"The optional string value to set.\").optional(),\n}).describe(\"Wrapper for optional string inputs in onUpdate.\").optional(),\n}).describe(\"Details for update if found.\"),\n identifier: z.object({\n customerId: z.string().describe(\"Plain internal customer ID.\").optional(),\n externalId: z.string().describe(\"External ID of the customer in your system.\").optional(),\n emailAddress: z.string().describe(\"Customer's email address. Must be unique and valid format.\").optional(),\n}).describe(\"Selector for existing customer.\"),\n}).describe(\"Request input for upserting a customer.\");\nconst PlainUpsertCustomer_MutationFieldErrorSchema = z.object({\n type: z.enum([\"VALIDATION\", \"REQUIRED\", \"NOT_FOUND\"]).nullable(),\n field: z.string().nullable(),\n message: z.string().nullable(),\n});\nconst PlainUpsertCustomer_MutationErrorSchema = z.object({\n code: z.string().nullable(),\n fields: z.array(PlainUpsertCustomer_MutationFieldErrorSchema).nullable(),\n message: z.string().nullable(),\n});\nconst PlainUpsertCustomer_EmailAddressInputSchema = z.object({\n email: z.string().describe(\"The customer's email address.\").nullable(),\n isVerified: z.boolean().describe(\"Whether the email address is already verified.\").nullable(),\n}).describe(\"Input object for email address with verification status.\");\nconst PlainUpsertCustomer_CustomerResponseSchema = z.object({\n id: z.string().nullable(),\n email: PlainUpsertCustomer_EmailAddressInputSchema.nullable(),\n fullName: z.string().nullable(),\n shortName: z.string().nullable().optional(),\n externalId: z.string().nullable().optional(),\n});\nexport const PlainUpsertCustomerOutput = z.object({\n error: PlainUpsertCustomer_MutationErrorSchema.nullable(),\n result: z.enum([\"CREATED\", \"UPDATED\", \"NOOP\"]).nullable(),\n customer: PlainUpsertCustomer_CustomerResponseSchema.nullable(),\n});\n\nexport const plainUpsertCustomer = action(\"PLAIN_UPSERT_CUSTOMER\", {\n slug: \"plain-upsert-customer\",\n name: \"Upsert Customer\",\n description: \"Tool to upsert (create or update) a customer. Use when syncing or ensuring a customer record exists before subsequent actions.\",\n input: PlainUpsertCustomerInput,\n output: PlainUpsertCustomerOutput,\n});\n"],"mappings":";;;AAIA,MAAa,2BAA2B,EAAE,OAAO;CAC/C,UAAU,EAAE,OAAO;EACnB,OAAO,EAAE,OAAO;GAChB,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B;GAC1D,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS,gDAAgD;EACnF,CAAC,CAAC,CAAC,SAAS,qCAAqC;EAC/C,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,iCAAiC;EAC/D,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;EACrF,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;EACrF,mBAAmB,EAAE,MAAM,EAAE,OAAO;GACpC,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;GAC3E,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS;EAC1E,CAAC,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"upsert-customer.mjs","names":[],"sources":["../../src/actions/upsert-customer.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PlainUpsertCustomerInput = z.object({\n onCreate: z.object({\n email: z.object({\n email: z.string().describe(\"The customer's email address.\"),\n isVerified: z.boolean().describe(\"Whether the email address is already verified.\"),\n}).describe(\"Email details for the new customer.\"),\n fullName: z.string().describe(\"Full name for the new customer.\"),\n shortName: z.string().describe(\"Optional short name for the new customer.\").optional(),\n externalId: z.string().describe(\"External ID to set on customer creation.\").optional(),\n tenantIdentifiers: z.array(z.object({\n tenantId: z.string().describe(\"Plain internal ID of the tenant.\").optional(),\n external_id: z.string().describe(\"External ID of the tenant.\").optional(),\n}).passthrough().describe(\"Identifier for a tenant. Provide exactly one field.\")).describe(\"Tenants to assign on create.\").optional(),\n customerGroupIdentifiers: z.array(z.object({\n external_id: z.string().describe(\"Your external ID for the customer group.\").optional(),\n customerGroupId: z.string().describe(\"Plain internal ID of the customer group.\").optional(),\n customerGroupKey: z.string().describe(\"Unique key of the customer group.\").optional(),\n}).passthrough().describe(\"Identifier for a customer group. Provide exactly one field.\")).describe(\"Groups to assign on create.\").optional(),\n}).describe(\"Details for creation if not found.\"),\n onUpdate: z.object({\n email: z.object({\n email: z.string().describe(\"The customer's email address.\"),\n isVerified: z.boolean().describe(\"Whether the email address is already verified.\"),\n}).describe(\"Input object for email address with verification status.\").optional(),\n fullName: z.object({\n value: z.string().describe(\"The string value to set.\"),\n}).describe(\"Wrapper for required string inputs in onUpdate.\").optional(),\n shortName: z.object({\n value: z.string().describe(\"The optional string value to set.\").optional(),\n}).describe(\"Wrapper for optional string inputs in onUpdate.\").optional(),\n externalId: z.object({\n value: z.string().describe(\"The optional string value to set.\").optional(),\n}).describe(\"Wrapper for optional string inputs in onUpdate.\").optional(),\n}).describe(\"Details for update if found.\"),\n identifier: z.object({\n customerId: z.string().describe(\"Plain internal customer ID.\").optional(),\n externalId: z.string().describe(\"External ID of the customer in your system.\").optional(),\n emailAddress: z.string().describe(\"Customer's email address. Must be unique and valid format.\").optional(),\n}).describe(\"Selector for existing customer.\"),\n}).describe(\"Request input for upserting a customer.\");\nconst PlainUpsertCustomer_MutationFieldErrorSchema = z.object({\n type: z.enum([\"VALIDATION\", \"REQUIRED\", \"NOT_FOUND\"]).nullable(),\n field: z.string().nullable(),\n message: z.string().nullable(),\n}).passthrough();\nconst PlainUpsertCustomer_MutationErrorSchema = z.object({\n code: z.string().nullable(),\n fields: z.array(PlainUpsertCustomer_MutationFieldErrorSchema).nullable(),\n message: z.string().nullable(),\n}).passthrough();\nconst PlainUpsertCustomer_EmailAddressInputSchema = z.object({\n email: z.string().describe(\"The customer's email address.\").nullable(),\n isVerified: z.boolean().describe(\"Whether the email address is already verified.\").nullable(),\n}).passthrough().describe(\"Input object for email address with verification status.\");\nconst PlainUpsertCustomer_CustomerResponseSchema = z.object({\n id: z.string().nullable(),\n email: PlainUpsertCustomer_EmailAddressInputSchema.nullable(),\n fullName: z.string().nullable(),\n shortName: z.string().nullable().optional(),\n externalId: z.string().nullable().optional(),\n}).passthrough();\nexport const PlainUpsertCustomerOutput = z.object({\n error: PlainUpsertCustomer_MutationErrorSchema.nullable(),\n result: z.enum([\"CREATED\", \"UPDATED\", \"NOOP\"]).nullable(),\n customer: PlainUpsertCustomer_CustomerResponseSchema.nullable(),\n}).passthrough();\n\nexport const plainUpsertCustomer = action(\"PLAIN_UPSERT_CUSTOMER\", {\n slug: \"plain-upsert-customer\",\n name: \"Upsert Customer\",\n description: \"Tool to upsert (create or update) a customer. Use when syncing or ensuring a customer record exists before subsequent actions.\",\n input: PlainUpsertCustomerInput,\n output: PlainUpsertCustomerOutput,\n});\n"],"mappings":"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"}
|
package/dist/catalog.cjs
CHANGED
|
@@ -8,7 +8,7 @@ const plainCatalog = {
|
|
|
8
8
|
"logo": "https://logos.composio.dev/api/plain",
|
|
9
9
|
"authKind": "keystroke",
|
|
10
10
|
"oauthScopes": [],
|
|
11
|
-
"credentialFields": { "
|
|
11
|
+
"credentialFields": { "generic_api_key": {
|
|
12
12
|
"label": "Plain API Key",
|
|
13
13
|
"secret": true,
|
|
14
14
|
"description": "Your Plain API key, starting 'plainApiKey_'. Create it in Settings → Machine Users → Add API Key with the permissions you need; copy it now — it's shown only once."
|
package/dist/catalog.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.cjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const plainCatalog = {\n \"slug\": \"plain\",\n \"name\": \"Plain\",\n \"description\": \"Plain is a collaborative support platform for B2B support teams, offering a modern, AI-powered interface to consolidate support channels and assist customers efficiently.\",\n \"category\": \"Customer Support\",\n \"logo\": \"https://logos.composio.dev/api/plain\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": [],\n \"credentialFields\": {\n \"
|
|
1
|
+
{"version":3,"file":"catalog.cjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const plainCatalog = {\n \"slug\": \"plain\",\n \"name\": \"Plain\",\n \"description\": \"Plain is a collaborative support platform for B2B support teams, offering a modern, AI-powered interface to consolidate support channels and assist customers efficiently.\",\n \"category\": \"Customer Support\",\n \"logo\": \"https://logos.composio.dev/api/plain\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": [],\n \"credentialFields\": {\n \"generic_api_key\": {\n \"label\": \"Plain API Key\",\n \"secret\": true,\n \"description\": \"Your Plain API key, starting 'plainApiKey_'. Create it in Settings → Machine Users → Add API Key with the permissions you need; copy it now — it's shown only once.\"\n }\n },\n \"credentialScheme\": \"API_KEY\"\n} as const;\n"],"mappings":";;AACA,MAAa,eAAe;CAC1B,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;CAChB,oBAAoB,EAClB,mBAAmB;EACjB,SAAS;EACT,UAAU;EACV,eAAe;CACjB,EACF;CACA,oBAAoB;AACtB"}
|
package/dist/catalog.d.cts
CHANGED
|
@@ -9,7 +9,7 @@ declare const plainCatalog: {
|
|
|
9
9
|
readonly authKind: "keystroke";
|
|
10
10
|
readonly oauthScopes: readonly [];
|
|
11
11
|
readonly credentialFields: {
|
|
12
|
-
readonly
|
|
12
|
+
readonly generic_api_key: {
|
|
13
13
|
readonly label: "Plain API Key";
|
|
14
14
|
readonly secret: true;
|
|
15
15
|
readonly description: "Your Plain API key, starting 'plainApiKey_'. Create it in Settings → Machine Users → Add API Key with the permissions you need; copy it now — it's shown only once.";
|
package/dist/catalog.d.mts
CHANGED
|
@@ -9,7 +9,7 @@ declare const plainCatalog: {
|
|
|
9
9
|
readonly authKind: "keystroke";
|
|
10
10
|
readonly oauthScopes: readonly [];
|
|
11
11
|
readonly credentialFields: {
|
|
12
|
-
readonly
|
|
12
|
+
readonly generic_api_key: {
|
|
13
13
|
readonly label: "Plain API Key";
|
|
14
14
|
readonly secret: true;
|
|
15
15
|
readonly description: "Your Plain API key, starting 'plainApiKey_'. Create it in Settings → Machine Users → Add API Key with the permissions you need; copy it now — it's shown only once.";
|
package/dist/catalog.mjs
CHANGED
|
@@ -8,7 +8,7 @@ const plainCatalog = {
|
|
|
8
8
|
"logo": "https://logos.composio.dev/api/plain",
|
|
9
9
|
"authKind": "keystroke",
|
|
10
10
|
"oauthScopes": [],
|
|
11
|
-
"credentialFields": { "
|
|
11
|
+
"credentialFields": { "generic_api_key": {
|
|
12
12
|
"label": "Plain API Key",
|
|
13
13
|
"secret": true,
|
|
14
14
|
"description": "Your Plain API key, starting 'plainApiKey_'. Create it in Settings → Machine Users → Add API Key with the permissions you need; copy it now — it's shown only once."
|
package/dist/catalog.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.mjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const plainCatalog = {\n \"slug\": \"plain\",\n \"name\": \"Plain\",\n \"description\": \"Plain is a collaborative support platform for B2B support teams, offering a modern, AI-powered interface to consolidate support channels and assist customers efficiently.\",\n \"category\": \"Customer Support\",\n \"logo\": \"https://logos.composio.dev/api/plain\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": [],\n \"credentialFields\": {\n \"
|
|
1
|
+
{"version":3,"file":"catalog.mjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const plainCatalog = {\n \"slug\": \"plain\",\n \"name\": \"Plain\",\n \"description\": \"Plain is a collaborative support platform for B2B support teams, offering a modern, AI-powered interface to consolidate support channels and assist customers efficiently.\",\n \"category\": \"Customer Support\",\n \"logo\": \"https://logos.composio.dev/api/plain\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": [],\n \"credentialFields\": {\n \"generic_api_key\": {\n \"label\": \"Plain API Key\",\n \"secret\": true,\n \"description\": \"Your Plain API key, starting 'plainApiKey_'. Create it in Settings → Machine Users → Add API Key with the permissions you need; copy it now — it's shown only once.\"\n }\n },\n \"credentialScheme\": \"API_KEY\"\n} as const;\n"],"mappings":";;AACA,MAAa,eAAe;CAC1B,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;CAChB,oBAAoB,EAClB,mBAAmB;EACjB,SAAS;EACT,UAAU;EACV,eAAe;CACjB,EACF;CACA,oBAAoB;AACtB"}
|