@corsair-dev/zendesk 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../endpoints/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2BtC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;iBAmBpC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;iBAWvC,CAAC;AAGH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;iBAiBnC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEtC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;iBAEhC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEnC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;iBAenC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEtC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;iBAEnC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;iBAEtC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;iBAKjC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKpC,CAAC;AAGH,eAAO,MAAM,sBAAsB;;;;;;iBAMjC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;iBAEpC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;iBAE9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;iBAEjC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;iBAOjC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;iBAEpC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;iBAEjC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;iBAEpC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;iBAKlC,CAAC;AAGH,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;iBAKrC,CAAC;AAGH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,MAAM,MAAM,qBAAqB,GAAG;IACnC,aAAa,EAAE,kBAAkB,CAAC;IAClC,UAAU,EAAE,eAAe,CAAC;IAC5B,aAAa,EAAE,kBAAkB,CAAC;IAClC,aAAa,EAAE,kBAAkB,CAAC;IAClC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,cAAc,CAAC;IAC1B,YAAY,EAAE,iBAAiB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC,aAAa,EAAE,qBAAqB,CAAC;IACrC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,qBAAqB,CAAC;IACrC,aAAa,EAAE,qBAAqB,CAAC;IACrC,WAAW,EAAE,mBAAmB,CAAC;IACjC,WAAW,EAAE,mBAAmB,CAAC;IACjC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,mBAAmB,CAAC;IACjC,WAAW,EAAE,mBAAmB,CAAC;IACjC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,YAAY,EAAE,oBAAoB,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAY9B,CAAC;AAEX,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAY/B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ZendeskEndpoints } from '../index';
2
+ export declare const create: ZendeskEndpoints['usersCreate'];
3
+ export declare const get: ZendeskEndpoints['usersGet'];
4
+ export declare const update: ZendeskEndpoints['usersUpdate'];
5
+ export declare const deleteUser: ZendeskEndpoints['usersDelete'];
6
+ export declare const list: ZendeskEndpoints['usersList'];
7
+ //# sourceMappingURL=users.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../endpoints/users.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjD,eAAO,MAAM,MAAM,EAAE,gBAAgB,CAAC,aAAa,CA4ClD,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,gBAAgB,CAAC,UAAU,CAoC5C,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,gBAAgB,CAAC,aAAa,CA4ClD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,aAAa,CA6BtD,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,gBAAgB,CAAC,WAAW,CA0C9C,CAAC"}
@@ -0,0 +1,22 @@
1
+ export declare const errorHandlers: {
2
+ RATE_LIMIT_ERROR: {
3
+ match: (error: Error) => boolean;
4
+ handler: (error: Error) => Promise<{
5
+ maxRetries: number;
6
+ headersRetryAfterMs: number | undefined;
7
+ }>;
8
+ };
9
+ AUTH_ERROR: {
10
+ match: (error: Error) => boolean;
11
+ handler: () => Promise<{
12
+ maxRetries: number;
13
+ }>;
14
+ };
15
+ DEFAULT: {
16
+ match: () => true;
17
+ handler: () => Promise<{
18
+ maxRetries: number;
19
+ }>;
20
+ };
21
+ };
22
+ //# sourceMappingURL=error-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-handlers.d.ts","sourceRoot":"","sources":["../error-handlers.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa;;uBAET,KAAK;yBAKG,KAAK;;;;;;uBASb,KAAK;;;;;;;;;;;CAWS,CAAC"}
@@ -0,0 +1,413 @@
1
+ import type { AuthTypes, BindEndpoints, BindWebhooks, CorsairEndpoint, CorsairErrorHandler, CorsairPlugin, CorsairPluginContext, CorsairWebhook, KeyBuilderContext, PickAuth, PluginPermissionsConfig } from 'corsair/core';
2
+ import type { ZendeskEndpointInputs, ZendeskEndpointOutputs } from './endpoints/types';
3
+ import { ZendeskSchema } from './schema';
4
+ import type { ExampleEvent, ZendeskWebhookOutputs } from './webhooks/types';
5
+ export type ZendeskPluginOptions = {
6
+ authType?: PickAuth<'api_key'>;
7
+ key?: string;
8
+ subdomain?: string;
9
+ webhookSecret?: string;
10
+ hooks?: InternalZendeskPlugin['hooks'];
11
+ webhookHooks?: InternalZendeskPlugin['webhookHooks'];
12
+ errorHandlers?: CorsairErrorHandler;
13
+ permissions?: PluginPermissionsConfig<typeof zendeskEndpointsNested>;
14
+ };
15
+ export declare const zendeskAuthConfig: {
16
+ readonly api_key: {
17
+ readonly account: readonly ["subdomain"];
18
+ };
19
+ };
20
+ export type ZendeskContext = CorsairPluginContext<typeof ZendeskSchema, ZendeskPluginOptions, undefined, typeof zendeskAuthConfig>;
21
+ export type ZendeskKeyBuilderContext = KeyBuilderContext<ZendeskPluginOptions, typeof zendeskAuthConfig>;
22
+ export type ZendeskBoundEndpoints = BindEndpoints<typeof zendeskEndpointsNested>;
23
+ type ZendeskEndpoint<K extends keyof ZendeskEndpointOutputs> = CorsairEndpoint<ZendeskContext, ZendeskEndpointInputs[K], ZendeskEndpointOutputs[K]>;
24
+ export type ZendeskEndpoints = {
25
+ ticketsCreate: ZendeskEndpoint<'ticketsCreate'>;
26
+ ticketsGet: ZendeskEndpoint<'ticketsGet'>;
27
+ ticketsUpdate: ZendeskEndpoint<'ticketsUpdate'>;
28
+ ticketsDelete: ZendeskEndpoint<'ticketsDelete'>;
29
+ ticketsList: ZendeskEndpoint<'ticketsList'>;
30
+ usersCreate: ZendeskEndpoint<'usersCreate'>;
31
+ usersGet: ZendeskEndpoint<'usersGet'>;
32
+ usersUpdate: ZendeskEndpoint<'usersUpdate'>;
33
+ usersDelete: ZendeskEndpoint<'usersDelete'>;
34
+ usersList: ZendeskEndpoint<'usersList'>;
35
+ commentsList: ZendeskEndpoint<'commentsList'>;
36
+ };
37
+ type ZendeskWebhook<K extends keyof ZendeskWebhookOutputs, TEvent> = CorsairWebhook<ZendeskContext, TEvent, ZendeskWebhookOutputs[K]>;
38
+ export type ZendeskWebhooks = {
39
+ example: ZendeskWebhook<'example', ExampleEvent>;
40
+ };
41
+ export type ZendeskBoundWebhooks = BindWebhooks<ZendeskWebhooks>;
42
+ declare const zendeskEndpointsNested: {
43
+ readonly tickets: {
44
+ readonly create: ZendeskEndpoint<"ticketsCreate">;
45
+ readonly get: ZendeskEndpoint<"ticketsGet">;
46
+ readonly update: ZendeskEndpoint<"ticketsUpdate">;
47
+ readonly delete: ZendeskEndpoint<"ticketsDelete">;
48
+ readonly list: ZendeskEndpoint<"ticketsList">;
49
+ };
50
+ readonly users: {
51
+ readonly create: ZendeskEndpoint<"usersCreate">;
52
+ readonly get: ZendeskEndpoint<"usersGet">;
53
+ readonly update: ZendeskEndpoint<"usersUpdate">;
54
+ readonly delete: ZendeskEndpoint<"usersDelete">;
55
+ readonly list: ZendeskEndpoint<"usersList">;
56
+ };
57
+ readonly comments: {
58
+ readonly list: ZendeskEndpoint<"commentsList">;
59
+ };
60
+ };
61
+ declare const zendeskWebhooksNested: {
62
+ readonly example: {
63
+ readonly example: ZendeskWebhook<"example", {
64
+ created_at: string;
65
+ type: "example";
66
+ data: {
67
+ [x: string]: unknown;
68
+ id: string;
69
+ };
70
+ }>;
71
+ };
72
+ };
73
+ export declare const zendeskEndpointSchemas: {
74
+ readonly 'tickets.create': {
75
+ readonly input: import("zod").ZodObject<{
76
+ subject: import("zod").ZodOptional<import("zod").ZodString>;
77
+ description: import("zod").ZodOptional<import("zod").ZodString>;
78
+ comment: import("zod").ZodOptional<import("zod").ZodObject<{
79
+ body: import("zod").ZodString;
80
+ public: import("zod").ZodOptional<import("zod").ZodBoolean>;
81
+ author_id: import("zod").ZodOptional<import("zod").ZodNumber>;
82
+ }, import("zod/v4/core").$strip>>;
83
+ status: import("zod").ZodOptional<import("zod").ZodString>;
84
+ priority: import("zod").ZodOptional<import("zod").ZodString>;
85
+ requester_id: import("zod").ZodOptional<import("zod").ZodNumber>;
86
+ assignee_id: import("zod").ZodOptional<import("zod").ZodNumber>;
87
+ group_id: import("zod").ZodOptional<import("zod").ZodNumber>;
88
+ organization_id: import("zod").ZodOptional<import("zod").ZodNumber>;
89
+ tags: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
90
+ }, import("zod/v4/core").$strip>;
91
+ readonly output: import("zod").ZodObject<{
92
+ ticket: import("zod").ZodObject<{
93
+ id: import("zod").ZodNumber;
94
+ url: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
95
+ external_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
96
+ created_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
97
+ updated_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
98
+ type: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
99
+ subject: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
100
+ raw_subject: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
101
+ description: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
102
+ priority: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
103
+ status: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
104
+ recipient: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
105
+ requester_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
106
+ submitter_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
107
+ assignee_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
108
+ organization_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
109
+ group_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
110
+ collaborator_ids: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>>;
111
+ follower_ids: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>>;
112
+ email_cc_ids: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>>;
113
+ forum_topic_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
114
+ problem_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
115
+ has_incidents: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
116
+ is_public: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
117
+ due_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
118
+ tags: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>>;
119
+ }, import("zod/v4/core").$strip>;
120
+ }, import("zod/v4/core").$strip>;
121
+ };
122
+ readonly 'tickets.get': {
123
+ readonly input: import("zod").ZodObject<{
124
+ id: import("zod").ZodNumber;
125
+ }, import("zod/v4/core").$strip>;
126
+ readonly output: import("zod").ZodObject<{
127
+ ticket: import("zod").ZodObject<{
128
+ id: import("zod").ZodNumber;
129
+ url: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
130
+ external_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
131
+ created_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
132
+ updated_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
133
+ type: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
134
+ subject: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
135
+ raw_subject: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
136
+ description: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
137
+ priority: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
138
+ status: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
139
+ recipient: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
140
+ requester_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
141
+ submitter_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
142
+ assignee_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
143
+ organization_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
144
+ group_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
145
+ collaborator_ids: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>>;
146
+ follower_ids: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>>;
147
+ email_cc_ids: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>>;
148
+ forum_topic_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
149
+ problem_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
150
+ has_incidents: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
151
+ is_public: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
152
+ due_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
153
+ tags: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>>;
154
+ }, import("zod/v4/core").$strip>;
155
+ }, import("zod/v4/core").$strip>;
156
+ };
157
+ readonly 'tickets.update': {
158
+ readonly input: import("zod").ZodObject<{
159
+ id: import("zod").ZodNumber;
160
+ subject: import("zod").ZodOptional<import("zod").ZodString>;
161
+ status: import("zod").ZodOptional<import("zod").ZodString>;
162
+ priority: import("zod").ZodOptional<import("zod").ZodString>;
163
+ requester_id: import("zod").ZodOptional<import("zod").ZodNumber>;
164
+ assignee_id: import("zod").ZodOptional<import("zod").ZodNumber>;
165
+ comment: import("zod").ZodOptional<import("zod").ZodObject<{
166
+ body: import("zod").ZodString;
167
+ public: import("zod").ZodOptional<import("zod").ZodBoolean>;
168
+ author_id: import("zod").ZodOptional<import("zod").ZodNumber>;
169
+ }, import("zod/v4/core").$strip>>;
170
+ tags: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
171
+ }, import("zod/v4/core").$strip>;
172
+ readonly output: import("zod").ZodObject<{
173
+ ticket: import("zod").ZodObject<{
174
+ id: import("zod").ZodNumber;
175
+ url: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
176
+ external_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
177
+ created_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
178
+ updated_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
179
+ type: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
180
+ subject: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
181
+ raw_subject: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
182
+ description: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
183
+ priority: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
184
+ status: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
185
+ recipient: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
186
+ requester_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
187
+ submitter_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
188
+ assignee_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
189
+ organization_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
190
+ group_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
191
+ collaborator_ids: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>>;
192
+ follower_ids: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>>;
193
+ email_cc_ids: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>>;
194
+ forum_topic_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
195
+ problem_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
196
+ has_incidents: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
197
+ is_public: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
198
+ due_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
199
+ tags: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>>;
200
+ }, import("zod/v4/core").$strip>;
201
+ }, import("zod/v4/core").$strip>;
202
+ };
203
+ readonly 'tickets.delete': {
204
+ readonly input: import("zod").ZodObject<{
205
+ id: import("zod").ZodNumber;
206
+ }, import("zod/v4/core").$strip>;
207
+ readonly output: import("zod").ZodObject<{
208
+ id: import("zod").ZodOptional<import("zod").ZodNumber>;
209
+ }, import("zod/v4/core").$strip>;
210
+ };
211
+ readonly 'tickets.list': {
212
+ readonly input: import("zod").ZodObject<{
213
+ page: import("zod").ZodOptional<import("zod").ZodNumber>;
214
+ per_page: import("zod").ZodOptional<import("zod").ZodNumber>;
215
+ sort_by: import("zod").ZodOptional<import("zod").ZodString>;
216
+ sort_order: import("zod").ZodOptional<import("zod").ZodString>;
217
+ }, import("zod/v4/core").$strip>;
218
+ readonly output: import("zod").ZodObject<{
219
+ tickets: import("zod").ZodArray<import("zod").ZodObject<{
220
+ id: import("zod").ZodNumber;
221
+ url: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
222
+ external_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
223
+ created_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
224
+ updated_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
225
+ type: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
226
+ subject: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
227
+ raw_subject: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
228
+ description: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
229
+ priority: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
230
+ status: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
231
+ recipient: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
232
+ requester_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
233
+ submitter_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
234
+ assignee_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
235
+ organization_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
236
+ group_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
237
+ collaborator_ids: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>>;
238
+ follower_ids: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>>;
239
+ email_cc_ids: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>>;
240
+ forum_topic_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
241
+ problem_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
242
+ has_incidents: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
243
+ is_public: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
244
+ due_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
245
+ tags: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>>;
246
+ }, import("zod/v4/core").$strip>>;
247
+ next_page: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
248
+ previous_page: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
249
+ count: import("zod").ZodOptional<import("zod").ZodNumber>;
250
+ }, import("zod/v4/core").$strip>;
251
+ };
252
+ readonly 'users.create': {
253
+ readonly input: import("zod").ZodObject<{
254
+ name: import("zod").ZodString;
255
+ email: import("zod").ZodString;
256
+ role: import("zod").ZodOptional<import("zod").ZodString>;
257
+ external_id: import("zod").ZodOptional<import("zod").ZodString>;
258
+ active: import("zod").ZodOptional<import("zod").ZodBoolean>;
259
+ }, import("zod/v4/core").$strip>;
260
+ readonly output: import("zod").ZodObject<{
261
+ user: import("zod").ZodObject<{
262
+ id: import("zod").ZodNumber;
263
+ url: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
264
+ name: import("zod").ZodString;
265
+ email: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
266
+ created_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
267
+ updated_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
268
+ time_zone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
269
+ iana_time_zone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
270
+ phone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
271
+ shared_phone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
272
+ locale_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
273
+ locale: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
274
+ organization_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
275
+ role: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
276
+ verified: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
277
+ external_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
278
+ tags: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>>;
279
+ active: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
280
+ }, import("zod/v4/core").$strip>;
281
+ }, import("zod/v4/core").$strip>;
282
+ };
283
+ readonly 'users.get': {
284
+ readonly input: import("zod").ZodObject<{
285
+ id: import("zod").ZodNumber;
286
+ }, import("zod/v4/core").$strip>;
287
+ readonly output: import("zod").ZodObject<{
288
+ user: import("zod").ZodObject<{
289
+ id: import("zod").ZodNumber;
290
+ url: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
291
+ name: import("zod").ZodString;
292
+ email: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
293
+ created_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
294
+ updated_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
295
+ time_zone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
296
+ iana_time_zone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
297
+ phone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
298
+ shared_phone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
299
+ locale_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
300
+ locale: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
301
+ organization_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
302
+ role: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
303
+ verified: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
304
+ external_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
305
+ tags: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>>;
306
+ active: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
307
+ }, import("zod/v4/core").$strip>;
308
+ }, import("zod/v4/core").$strip>;
309
+ };
310
+ readonly 'users.update': {
311
+ readonly input: import("zod").ZodObject<{
312
+ id: import("zod").ZodNumber;
313
+ name: import("zod").ZodOptional<import("zod").ZodString>;
314
+ email: import("zod").ZodOptional<import("zod").ZodString>;
315
+ role: import("zod").ZodOptional<import("zod").ZodString>;
316
+ external_id: import("zod").ZodOptional<import("zod").ZodString>;
317
+ active: import("zod").ZodOptional<import("zod").ZodBoolean>;
318
+ }, import("zod/v4/core").$strip>;
319
+ readonly output: import("zod").ZodObject<{
320
+ user: import("zod").ZodObject<{
321
+ id: import("zod").ZodNumber;
322
+ url: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
323
+ name: import("zod").ZodString;
324
+ email: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
325
+ created_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
326
+ updated_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
327
+ time_zone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
328
+ iana_time_zone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
329
+ phone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
330
+ shared_phone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
331
+ locale_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
332
+ locale: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
333
+ organization_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
334
+ role: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
335
+ verified: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
336
+ external_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
337
+ tags: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>>;
338
+ active: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
339
+ }, import("zod/v4/core").$strip>;
340
+ }, import("zod/v4/core").$strip>;
341
+ };
342
+ readonly 'users.delete': {
343
+ readonly input: import("zod").ZodObject<{
344
+ id: import("zod").ZodNumber;
345
+ }, import("zod/v4/core").$strip>;
346
+ readonly output: import("zod").ZodObject<{
347
+ id: import("zod").ZodOptional<import("zod").ZodNumber>;
348
+ }, import("zod/v4/core").$strip>;
349
+ };
350
+ readonly 'users.list': {
351
+ readonly input: import("zod").ZodObject<{
352
+ page: import("zod").ZodOptional<import("zod").ZodNumber>;
353
+ per_page: import("zod").ZodOptional<import("zod").ZodNumber>;
354
+ role: import("zod").ZodOptional<import("zod").ZodString>;
355
+ }, import("zod/v4/core").$strip>;
356
+ readonly output: import("zod").ZodObject<{
357
+ users: import("zod").ZodArray<import("zod").ZodObject<{
358
+ id: import("zod").ZodNumber;
359
+ url: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
360
+ name: import("zod").ZodString;
361
+ email: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
362
+ created_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
363
+ updated_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
364
+ time_zone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
365
+ iana_time_zone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
366
+ phone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
367
+ shared_phone: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
368
+ locale_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
369
+ locale: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
370
+ organization_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
371
+ role: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
372
+ verified: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
373
+ external_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
374
+ tags: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>>;
375
+ active: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
376
+ }, import("zod/v4/core").$strip>>;
377
+ next_page: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
378
+ previous_page: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
379
+ count: import("zod").ZodOptional<import("zod").ZodNumber>;
380
+ }, import("zod/v4/core").$strip>;
381
+ };
382
+ readonly 'comments.list': {
383
+ readonly input: import("zod").ZodObject<{
384
+ ticket_id: import("zod").ZodNumber;
385
+ page: import("zod").ZodOptional<import("zod").ZodNumber>;
386
+ per_page: import("zod").ZodOptional<import("zod").ZodNumber>;
387
+ }, import("zod/v4/core").$strip>;
388
+ readonly output: import("zod").ZodObject<{
389
+ comments: import("zod").ZodArray<import("zod").ZodObject<{
390
+ id: import("zod").ZodNumber;
391
+ type: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
392
+ body: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
393
+ html_body: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
394
+ plain_body: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
395
+ public: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodBoolean>>;
396
+ author_id: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>;
397
+ attachments: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnknown>>>;
398
+ created_at: import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>;
399
+ }, import("zod/v4/core").$strip>>;
400
+ next_page: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
401
+ previous_page: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
402
+ count: import("zod").ZodOptional<import("zod").ZodNumber>;
403
+ }, import("zod/v4/core").$strip>;
404
+ };
405
+ };
406
+ declare const defaultAuthType: AuthTypes;
407
+ export type BaseZendeskPlugin<T extends ZendeskPluginOptions> = CorsairPlugin<'zendesk', typeof ZendeskSchema, typeof zendeskEndpointsNested, typeof zendeskWebhooksNested, T, typeof defaultAuthType, typeof zendeskAuthConfig>;
408
+ export type InternalZendeskPlugin = BaseZendeskPlugin<ZendeskPluginOptions>;
409
+ export type ExternalZendeskPlugin<T extends ZendeskPluginOptions> = BaseZendeskPlugin<T>;
410
+ export declare function zendesk<const T extends ZendeskPluginOptions>(incomingOptions?: ZendeskPluginOptions & T): ExternalZendeskPlugin<T>;
411
+ export type { ZendeskEndpointInputs, ZendeskEndpointOutputs, } from './endpoints/types';
412
+ export type { ExampleEvent, ZendeskWebhookOutputs, } from './webhooks/types';
413
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ var O=Object.defineProperty;var x=(s,t)=>{for(var r in t)O(s,r,{get:t[r],enumerable:!0})};var h={};x(h,{list:()=>B});import{logEventFromContext as W}from"corsair/core";import{ApiError as G,request as q}from"corsair/http";var g=class extends Error{constructor(r,i){super(r);this.code=i;this.name="ZendeskAPIError"}};async function d(s,t,r,i={}){if(!r)throw new g("Subdomain is required for Zendesk integration","MISSING_SUBDOMAIN");let{method:n="GET",body:o,query:u}=i,Z={BASE:`https://${r}.zendesk.com/api/v2`,VERSION:"2.0.0",WITH_CREDENTIALS:!1,CREDENTIALS:"omit",TOKEN:void 0,HEADERS:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Basic ${Buffer.from(t).toString("base64")}`}},S={method:n,url:s,body:n==="POST"||n==="PUT"||n==="PATCH"?o:void 0,mediaType:"application/json; charset=utf-8",query:n==="GET"||n==="DELETE"?u:void 0};try{return await q(Z,S)}catch(b){throw b instanceof G?b:b instanceof Error?new g(b.message):new g("Unknown error")}}var B=async(s,t)=>{let r=s.options.subdomain??await s.keys.get_subdomain()??"",i=await d(`tickets/${t.ticket_id}/comments.json`,s.key,r,{method:"GET",query:{...t.page!==void 0&&{page:t.page},...t.per_page!==void 0&&{per_page:t.per_page}}}),n=i.comments||[];if(s.db.comments)for(let o of n)try{await s.db.comments.upsertByEntityId(String(o.id),{id:o.id,ticketId:t.ticket_id,body:o.body??null,authorId:o.author_id??null,public:o.public??null,createdAt:o.created_at?new Date(o.created_at):null})}catch(u){console.warn("Failed to save comment to database:",u)}return await W(s,"zendesk.comments.list",{...t},"completed"),i};var m={};x(m,{create:()=>H,deleteTicket:()=>F,get:()=>M,list:()=>K,update:()=>N});import{logEventFromContext as y}from"corsair/core";var H=async(s,t)=>{let r=s.options.subdomain??await s.keys.get_subdomain()??"",i=await d("tickets.json",s.key,r,{method:"POST",body:{ticket:{...t.subject&&{subject:t.subject},...t.description&&{description:t.description},...t.comment&&{comment:t.comment},...t.status&&{status:t.status},...t.priority&&{priority:t.priority},...t.requester_id!==void 0&&{requester_id:t.requester_id},...t.assignee_id!==void 0&&{assignee_id:t.assignee_id},...t.group_id!==void 0&&{group_id:t.group_id},...t.organization_id!==void 0&&{organization_id:t.organization_id},...t.tags&&{tags:t.tags}}}}),n=i.ticket;if(n&&s.db.tickets)try{await s.db.tickets.upsertByEntityId(String(n.id),{id:n.id,subject:n.subject??null,description:n.description??null,status:n.status??null,priority:n.priority??null,requesterId:n.requester_id??null,assigneeId:n.assignee_id??null,organizationId:n.organization_id??null,groupId:n.group_id??null,createdAt:n.created_at?new Date(n.created_at):null,updatedAt:n.updated_at?new Date(n.updated_at):null})}catch(o){console.warn("Failed to save ticket to database:",o)}return await y(s,"zendesk.tickets.create",{...t},"completed"),i},M=async(s,t)=>{let r=s.options.subdomain??await s.keys.get_subdomain()??"",i=await d(`tickets/${t.id}.json`,s.key,r,{method:"GET"}),n=i.ticket;if(n&&s.db.tickets)try{await s.db.tickets.upsertByEntityId(String(n.id),{id:n.id,subject:n.subject??null,description:n.description??null,status:n.status??null,priority:n.priority??null,requesterId:n.requester_id??null,assigneeId:n.assignee_id??null,organizationId:n.organization_id??null,groupId:n.group_id??null,createdAt:n.created_at?new Date(n.created_at):null,updatedAt:n.updated_at?new Date(n.updated_at):null})}catch(o){console.warn("Failed to save ticket to database:",o)}return await y(s,"zendesk.tickets.get",{...t},"completed"),i},N=async(s,t)=>{let r=s.options.subdomain??await s.keys.get_subdomain()??"",i=await d(`tickets/${t.id}.json`,s.key,r,{method:"PUT",body:{ticket:{...t.subject&&{subject:t.subject},...t.status&&{status:t.status},...t.priority&&{priority:t.priority},...t.requester_id!==void 0&&{requester_id:t.requester_id},...t.assignee_id!==void 0&&{assignee_id:t.assignee_id},...t.comment&&{comment:t.comment},...t.tags&&{tags:t.tags}}}}),n=i.ticket;if(n&&s.db.tickets)try{await s.db.tickets.upsertByEntityId(String(n.id),{id:n.id,subject:n.subject??null,description:n.description??null,status:n.status??null,priority:n.priority??null,requesterId:n.requester_id??null,assigneeId:n.assignee_id??null,organizationId:n.organization_id??null,groupId:n.group_id??null,createdAt:n.created_at?new Date(n.created_at):null,updatedAt:n.updated_at?new Date(n.updated_at):null})}catch(o){console.warn("Failed to save ticket to database:",o)}return await y(s,"zendesk.tickets.update",{...t},"completed"),i},F=async(s,t)=>{let r=s.options.subdomain??await s.keys.get_subdomain()??"";if(await d(`tickets/${t.id}.json`,s.key,r,{method:"DELETE"}),s.db.tickets)try{await s.db.tickets.deleteByEntityId(String(t.id))}catch(i){console.warn("Failed to delete ticket from database:",i)}return await y(s,"zendesk.tickets.delete",{...t},"completed"),{id:t.id}},K=async(s,t)=>{let r=s.options.subdomain??await s.keys.get_subdomain()??"",i=await d("tickets.json",s.key,r,{method:"GET",query:{...t.page!==void 0&&{page:t.page},...t.per_page!==void 0&&{per_page:t.per_page},...t.sort_by&&{sort_by:t.sort_by},...t.sort_order&&{sort_order:t.sort_order}}}),n=i.tickets||[];if(s.db.tickets)for(let o of n)try{await s.db.tickets.upsertByEntityId(String(o.id),{id:o.id,subject:o.subject??null,description:o.description??null,status:o.status??null,priority:o.priority??null,requesterId:o.requester_id??null,assigneeId:o.assignee_id??null,organizationId:o.organization_id??null,groupId:o.group_id??null,createdAt:o.created_at?new Date(o.created_at):null,updatedAt:o.updated_at?new Date(o.updated_at):null})}catch(u){console.warn("Failed to save ticket to database:",u)}return await y(s,"zendesk.tickets.list",{...t},"completed"),i};var k={};x(k,{create:()=>$,deleteUser:()=>Q,get:()=>V,list:()=>X,update:()=>J});import{logEventFromContext as f}from"corsair/core";var $=async(s,t)=>{let r=s.options.subdomain??await s.keys.get_subdomain()??"",i=await d("users.json",s.key,r,{method:"POST",body:{user:{name:t.name,email:t.email,...t.role&&{role:t.role},...t.external_id&&{external_id:t.external_id},...t.active!==void 0&&{active:t.active}}}}),n=i.user;if(n&&s.db.users)try{await s.db.users.upsertByEntityId(String(n.id),{id:n.id,name:n.name??null,email:n.email??null,role:n.role??null,active:n.active??null,timeZone:n.time_zone??null,locale:n.locale??null,createdAt:n.created_at?new Date(n.created_at):null,updatedAt:n.updated_at?new Date(n.updated_at):null})}catch(o){console.warn("Failed to save user to database:",o)}return await f(s,"zendesk.users.create",{...t},"completed"),i},V=async(s,t)=>{let r=s.options.subdomain??await s.keys.get_subdomain()??"",i=await d(`users/${t.id}.json`,s.key,r,{method:"GET"}),n=i.user;if(n&&s.db.users)try{await s.db.users.upsertByEntityId(String(n.id),{id:n.id,name:n.name??null,email:n.email??null,role:n.role??null,active:n.active??null,timeZone:n.time_zone??null,locale:n.locale??null,createdAt:n.created_at?new Date(n.created_at):null,updatedAt:n.updated_at?new Date(n.updated_at):null})}catch(o){console.warn("Failed to save user to database:",o)}return await f(s,"zendesk.users.get",{...t},"completed"),i},J=async(s,t)=>{let r=s.options.subdomain??await s.keys.get_subdomain()??"",i=await d(`users/${t.id}.json`,s.key,r,{method:"PUT",body:{user:{...t.name&&{name:t.name},...t.email&&{email:t.email},...t.role&&{role:t.role},...t.external_id&&{external_id:t.external_id},...t.active!==void 0&&{active:t.active}}}}),n=i.user;if(n&&s.db.users)try{await s.db.users.upsertByEntityId(String(n.id),{id:n.id,name:n.name??null,email:n.email??null,role:n.role??null,active:n.active??null,timeZone:n.time_zone??null,locale:n.locale??null,createdAt:n.created_at?new Date(n.created_at):null,updatedAt:n.updated_at?new Date(n.updated_at):null})}catch(o){console.warn("Failed to save user to database:",o)}return await f(s,"zendesk.users.update",{...t},"completed"),i},Q=async(s,t)=>{let r=s.options.subdomain??await s.keys.get_subdomain()??"";if(await d(`users/${t.id}.json`,s.key,r,{method:"DELETE"}),s.db.users)try{await s.db.users.deleteByEntityId(String(t.id))}catch(i){console.warn("Failed to delete user from database:",i)}return await f(s,"zendesk.users.delete",{...t},"completed"),{id:t.id}},X=async(s,t)=>{let r=s.options.subdomain??await s.keys.get_subdomain()??"",i=await d("users.json",s.key,r,{method:"GET",query:{...t.page!==void 0&&{page:t.page},...t.per_page!==void 0&&{per_page:t.per_page},...t.role&&{role:t.role}}}),n=i.users||[];if(s.db.users)for(let o of n)try{await s.db.users.upsertByEntityId(String(o.id),{id:o.id,name:o.name??null,email:o.email??null,role:o.role??null,active:o.active??null,timeZone:o.time_zone??null,locale:o.locale??null,createdAt:o.created_at?new Date(o.created_at):null,updatedAt:o.updated_at?new Date(o.updated_at):null})}catch(u){console.warn("Failed to save user to database:",u)}return await f(s,"zendesk.users.list",{...t},"completed"),i};import{z as e}from"zod";var _=e.object({id:e.number(),url:e.string().optional().nullable(),external_id:e.string().optional().nullable(),created_at:e.string().optional().nullable(),updated_at:e.string().optional().nullable(),type:e.string().optional().nullable(),subject:e.string().optional().nullable(),raw_subject:e.string().optional().nullable(),description:e.string().optional().nullable(),priority:e.string().optional().nullable(),status:e.string().optional().nullable(),recipient:e.string().optional().nullable(),requester_id:e.number().optional().nullable(),submitter_id:e.number().optional().nullable(),assignee_id:e.number().optional().nullable(),organization_id:e.number().optional().nullable(),group_id:e.number().optional().nullable(),collaborator_ids:e.array(e.number()).optional().nullable(),follower_ids:e.array(e.number()).optional().nullable(),email_cc_ids:e.array(e.number()).optional().nullable(),forum_topic_id:e.number().optional().nullable(),problem_id:e.number().optional().nullable(),has_incidents:e.boolean().optional().nullable(),is_public:e.boolean().optional().nullable(),due_at:e.string().optional().nullable(),tags:e.array(e.string()).optional().nullable()}),E=e.object({id:e.number(),url:e.string().optional().nullable(),name:e.string(),email:e.string().optional().nullable(),created_at:e.string().optional().nullable(),updated_at:e.string().optional().nullable(),time_zone:e.string().optional().nullable(),iana_time_zone:e.string().optional().nullable(),phone:e.string().optional().nullable(),shared_phone:e.boolean().optional().nullable(),locale_id:e.number().optional().nullable(),locale:e.string().optional().nullable(),organization_id:e.number().optional().nullable(),role:e.string().optional().nullable(),verified:e.boolean().optional().nullable(),external_id:e.string().optional().nullable(),tags:e.array(e.string()).optional().nullable(),active:e.boolean().optional().nullable()}),Y=e.object({id:e.number(),type:e.string().optional().nullable(),body:e.string().optional().nullable(),html_body:e.string().optional().nullable(),plain_body:e.string().optional().nullable(),public:e.boolean().optional().nullable(),author_id:e.number().optional().nullable(),attachments:e.array(e.unknown()).optional().nullable(),created_at:e.string().optional().nullable()}),ee=e.object({subject:e.string().optional(),description:e.string().optional(),comment:e.object({body:e.string(),public:e.boolean().optional(),author_id:e.number().optional()}).optional(),status:e.string().optional(),priority:e.string().optional(),requester_id:e.number().optional(),assignee_id:e.number().optional(),group_id:e.number().optional(),organization_id:e.number().optional(),tags:e.array(e.string()).optional()}),te=e.object({ticket:_}),se=e.object({id:e.number()}),ne=e.object({ticket:_}),oe=e.object({id:e.number(),subject:e.string().optional(),status:e.string().optional(),priority:e.string().optional(),requester_id:e.number().optional(),assignee_id:e.number().optional(),comment:e.object({body:e.string(),public:e.boolean().optional(),author_id:e.number().optional()}).optional(),tags:e.array(e.string()).optional()}),ie=e.object({ticket:_}),re=e.object({id:e.number()}),ae=e.object({id:e.number().optional()}),de=e.object({page:e.number().optional(),per_page:e.number().optional(),sort_by:e.string().optional(),sort_order:e.string().optional()}),le=e.object({tickets:e.array(_),next_page:e.string().nullable().optional(),previous_page:e.string().nullable().optional(),count:e.number().optional()}),pe=e.object({name:e.string(),email:e.string(),role:e.string().optional(),external_id:e.string().optional(),active:e.boolean().optional()}),ue=e.object({user:E}),ce=e.object({id:e.number()}),me=e.object({user:E}),ke=e.object({id:e.number(),name:e.string().optional(),email:e.string().optional(),role:e.string().optional(),external_id:e.string().optional(),active:e.boolean().optional()}),be=e.object({user:E}),ge=e.object({id:e.number()}),ye=e.object({id:e.number().optional()}),fe=e.object({page:e.number().optional(),per_page:e.number().optional(),role:e.string().optional()}),he=e.object({users:e.array(E),next_page:e.string().nullable().optional(),previous_page:e.string().nullable().optional(),count:e.number().optional()}),_e=e.object({ticket_id:e.number(),page:e.number().optional(),per_page:e.number().optional()}),Ee=e.object({comments:e.array(Y),next_page:e.string().nullable().optional(),previous_page:e.string().nullable().optional(),count:e.number().optional()}),l={ticketsCreate:ee,ticketsGet:se,ticketsUpdate:oe,ticketsDelete:re,ticketsList:de,usersCreate:pe,usersGet:ce,usersUpdate:ke,usersDelete:ge,usersList:fe,commentsList:_e},p={ticketsCreate:te,ticketsGet:ne,ticketsUpdate:ie,ticketsDelete:ae,ticketsList:le,usersCreate:ue,usersGet:me,usersUpdate:be,usersDelete:ye,usersList:he,commentsList:Ee};import{ApiError as I}from"corsair/http";var C={RATE_LIMIT_ERROR:{match:s=>{if(s instanceof I&&s.status===429)return!0;let t=s.message.toLowerCase();return t.includes("rate_limited")||t.includes("429")},handler:async s=>{let t;return s instanceof I&&s.retryAfter!==void 0&&(t=s.retryAfter),{maxRetries:5,headersRetryAfterMs:t}}},AUTH_ERROR:{match:s=>{if(s instanceof I&&s.status===401)return!0;let t=s.message.toLowerCase();return t.includes("unauthorized")||t.includes("invalid_auth")},handler:async()=>({maxRetries:0})},DEFAULT:{match:()=>!0,handler:async()=>({maxRetries:0})}};import{z as a}from"zod";var z=a.object({id:a.number(),subject:a.string().optional().nullable(),description:a.string().optional().nullable(),status:a.string().optional().nullable(),priority:a.string().optional().nullable(),requesterId:a.number().optional().nullable(),assigneeId:a.number().optional().nullable(),organizationId:a.number().optional().nullable(),groupId:a.number().optional().nullable(),createdAt:a.coerce.date().optional().nullable(),updatedAt:a.coerce.date().optional().nullable()}),U=a.object({id:a.number(),name:a.string().optional().nullable(),email:a.string().optional().nullable(),role:a.string().optional().nullable(),active:a.boolean().optional().nullable(),timeZone:a.string().optional().nullable(),locale:a.string().optional().nullable(),createdAt:a.coerce.date().optional().nullable(),updatedAt:a.coerce.date().optional().nullable()}),R=a.object({id:a.number(),ticketId:a.number().optional().nullable(),body:a.string().optional().nullable(),authorId:a.number().optional().nullable(),public:a.boolean().optional().nullable(),createdAt:a.coerce.date().optional().nullable()});var v={version:"1.0.0",entities:{tickets:z,users:U,comments:R}};import{logEventFromContext as xe}from"corsair/core";import*as w from"crypto";import{z as c}from"zod";var we=c.object({type:c.string(),created_at:c.string(),data:c.record(c.string(),c.unknown())}),T=we.extend({type:c.literal("example"),data:c.object({id:c.string()}).loose()});function Ze(s){if(typeof s=="string")try{let t=JSON.parse(s);return t!==null&&typeof t=="object"&&!Array.isArray(t)?t:null}catch{return null}return s!==null&&typeof s=="object"&&!Array.isArray(s)?s:null}function L(s){return t=>{let r=Ze(t.body);return r!==null&&r.type===s}}function D(s,t){if(!t)return{valid:!1,error:"Missing webhook signing secret configuration"};let r=s.rawBody;if(r==null)return{valid:!1,error:"Missing raw body for signature verification"};let i=s.headers,n=Array.isArray(i["x-zendesk-webhook-signature"])?i["x-zendesk-webhook-signature"][0]:i["x-zendesk-webhook-signature"],o=Array.isArray(i["x-zendesk-webhook-signature-timestamp"])?i["x-zendesk-webhook-signature-timestamp"][0]:i["x-zendesk-webhook-signature-timestamp"];if(!n)return{valid:!1,error:"Missing x-zendesk-webhook-signature header"};if(!o)return{valid:!1,error:"Missing x-zendesk-webhook-signature-timestamp header"};let u=Date.parse(o);if(Number.isNaN(u))return{valid:!1,error:"Invalid x-zendesk-webhook-signature-timestamp header format"};let Z=Date.now();if(Math.abs(Z-u)/1e3>300)return{valid:!1,error:"Webhook request timestamp is stale (outside 5-minute window)"};let b=o+r,P=w.createHmac("sha256",t).update(b).digest("base64");try{if(!w.timingSafeEqual(Buffer.from(n),Buffer.from(P)))return{valid:!1,error:"Invalid signature"}}catch{return{valid:!1,error:"Invalid signature"}}return{valid:!0}}var j={match:L("example"),handler:async(s,t)=>{let r=D(t,s.key);if(!r.valid)return{success:!1,statusCode:401,error:r.error||"Signature verification failed"};let i=t.payload;return i.type!=="example"?{success:!0,data:void 0}:(await xe(s,"zendesk.webhook.example",{...i},"completed"),{success:!0,data:i})}};var A={example:j};var Ie={api_key:{account:["subdomain"]}},Te={tickets:{create:m.create,get:m.get,update:m.update,delete:m.deleteTicket,list:m.list},users:{create:k.create,get:k.get,update:k.update,delete:k.deleteUser,list:k.list},comments:{list:h.list}},Se={example:{example:A.example}},Ce={"tickets.create":{input:l.ticketsCreate,output:p.ticketsCreate},"tickets.get":{input:l.ticketsGet,output:p.ticketsGet},"tickets.update":{input:l.ticketsUpdate,output:p.ticketsUpdate},"tickets.delete":{input:l.ticketsDelete,output:p.ticketsDelete},"tickets.list":{input:l.ticketsList,output:p.ticketsList},"users.create":{input:l.usersCreate,output:p.usersCreate},"users.get":{input:l.usersGet,output:p.usersGet},"users.update":{input:l.usersUpdate,output:p.usersUpdate},"users.delete":{input:l.usersDelete,output:p.usersDelete},"users.list":{input:l.usersList,output:p.usersList},"comments.list":{input:l.commentsList,output:p.commentsList}},ze={"example.example":{description:"An example webhook event",payload:T,response:T}},Ue="api_key",Re={"tickets.create":{riskLevel:"write",description:"Create a new ticket"},"tickets.get":{riskLevel:"read",description:"Retrieve a ticket by its ID"},"tickets.update":{riskLevel:"write",description:"Update an existing ticket"},"tickets.delete":{riskLevel:"destructive",description:"Delete a ticket by its ID"},"tickets.list":{riskLevel:"read",description:"List tickets with pagination"},"users.create":{riskLevel:"write",description:"Create a new user"},"users.get":{riskLevel:"read",description:"Retrieve a user by their ID"},"users.update":{riskLevel:"write",description:"Update an existing user"},"users.delete":{riskLevel:"destructive",description:"Delete a user by their ID"},"users.list":{riskLevel:"read",description:"List users with pagination"},"comments.list":{riskLevel:"read",description:"List comments for a specific ticket"}};function ct(s={}){let t={...s,authType:s.authType??Ue};return{id:"zendesk",schema:v,options:t,hooks:t.hooks,webhookHooks:t.webhookHooks,endpoints:Te,webhooks:Se,authConfig:Ie,endpointMeta:Re,endpointSchemas:Ce,webhookSchemas:ze,pluginWebhookMatcher:r=>"x-zendesk-webhook-signature"in r.headers,errorHandlers:{...C,...t.errorHandlers},keyBuilder:async(r,i)=>{let n=r.authType;if(i==="webhook"&&t.webhookSecret)return t.webhookSecret;if(i==="webhook"){let o=await r.keys.get_webhook_signature();if(!o)throw new Error("[auth-missing:zendesk:webhook_signature]: Zendesk webhook signature is missing");return o}if(i==="endpoint"&&t.key)return t.key;if(i==="endpoint"&&r.authType==="api_key"){let o=await r.keys.get_api_key();if(!o)throw new Error("[auth-missing:zendesk:api_key]: Zendesk API Key is missing");return o}throw new Error(`[auth-missing:zendesk:${n}]: Zendesk key is missing`)}}}export{ct as zendesk,Ie as zendeskAuthConfig,Ce as zendeskEndpointSchemas};
@@ -0,0 +1,2 @@
1
+ import 'dotenv/config';
2
+ //# sourceMappingURL=integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.test.d.ts","sourceRoot":"","sources":["../integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ export declare const ZendeskTicket: z.ZodObject<{
3
+ id: z.ZodNumber;
4
+ subject: z.ZodNullable<z.ZodOptional<z.ZodString>>;
5
+ description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
6
+ status: z.ZodNullable<z.ZodOptional<z.ZodString>>;
7
+ priority: z.ZodNullable<z.ZodOptional<z.ZodString>>;
8
+ requesterId: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
9
+ assigneeId: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
10
+ organizationId: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
11
+ groupId: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
12
+ createdAt: z.ZodNullable<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
13
+ updatedAt: z.ZodNullable<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
14
+ }, z.core.$strip>;
15
+ export declare const ZendeskUser: z.ZodObject<{
16
+ id: z.ZodNumber;
17
+ name: z.ZodNullable<z.ZodOptional<z.ZodString>>;
18
+ email: z.ZodNullable<z.ZodOptional<z.ZodString>>;
19
+ role: z.ZodNullable<z.ZodOptional<z.ZodString>>;
20
+ active: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
21
+ timeZone: z.ZodNullable<z.ZodOptional<z.ZodString>>;
22
+ locale: z.ZodNullable<z.ZodOptional<z.ZodString>>;
23
+ createdAt: z.ZodNullable<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
24
+ updatedAt: z.ZodNullable<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
25
+ }, z.core.$strip>;
26
+ export declare const ZendeskComment: z.ZodObject<{
27
+ id: z.ZodNumber;
28
+ ticketId: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
29
+ body: z.ZodNullable<z.ZodOptional<z.ZodString>>;
30
+ authorId: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
31
+ public: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
32
+ createdAt: z.ZodNullable<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
33
+ }, z.core.$strip>;
34
+ export type ZendeskTicket = z.infer<typeof ZendeskTicket>;
35
+ export type ZendeskUser = z.infer<typeof ZendeskUser>;
36
+ export type ZendeskComment = z.infer<typeof ZendeskComment>;
37
+ //# sourceMappingURL=database.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../schema/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa;;;;;;;;;;;;iBAYxB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;iBAUtB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;iBAOzB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACtD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}