integrate-sdk 0.8.28 → 0.8.30-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/auto-routes.js +397 -0
- package/dist/adapters/index.js +397 -0
- package/dist/adapters/nextjs.js +397 -0
- package/dist/adapters/node.js +397 -0
- package/dist/adapters/svelte-kit.js +397 -0
- package/dist/adapters/tanstack-start.js +397 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +434 -1
- package/dist/oauth.js +397 -0
- package/dist/server.js +406 -0
- package/dist/src/client.d.ts +10 -1
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/index.d.ts +18 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/integrations/airtable-client.d.ts +260 -0
- package/dist/src/integrations/airtable-client.d.ts.map +1 -0
- package/dist/src/integrations/airtable.d.ts +37 -0
- package/dist/src/integrations/airtable.d.ts.map +1 -0
- package/dist/src/integrations/gcal-client.d.ts +370 -0
- package/dist/src/integrations/gcal-client.d.ts.map +1 -0
- package/dist/src/integrations/gcal.d.ts +37 -0
- package/dist/src/integrations/gcal.d.ts.map +1 -0
- package/dist/src/integrations/linear-client.d.ts +309 -0
- package/dist/src/integrations/linear-client.d.ts.map +1 -0
- package/dist/src/integrations/linear.d.ts +37 -0
- package/dist/src/integrations/linear.d.ts.map +1 -0
- package/dist/src/integrations/outlook-client.d.ts +433 -0
- package/dist/src/integrations/outlook-client.d.ts.map +1 -0
- package/dist/src/integrations/outlook.d.ts +37 -0
- package/dist/src/integrations/outlook.d.ts.map +1 -0
- package/dist/src/integrations/slack-client.d.ts +271 -0
- package/dist/src/integrations/slack-client.d.ts.map +1 -0
- package/dist/src/integrations/slack.d.ts +37 -0
- package/dist/src/integrations/slack.d.ts.map +1 -0
- package/dist/src/integrations/stripe-client.d.ts +412 -0
- package/dist/src/integrations/stripe-client.d.ts.map +1 -0
- package/dist/src/integrations/stripe.d.ts +37 -0
- package/dist/src/integrations/stripe.d.ts.map +1 -0
- package/dist/src/integrations/todoist-client.d.ts +253 -0
- package/dist/src/integrations/todoist-client.d.ts.map +1 -0
- package/dist/src/integrations/todoist.d.ts +37 -0
- package/dist/src/integrations/todoist.d.ts.map +1 -0
- package/dist/src/integrations/vercel-client.d.ts +278 -0
- package/dist/src/integrations/vercel-client.d.ts.map +1 -0
- package/dist/src/integrations/vercel.d.ts +37 -0
- package/dist/src/integrations/vercel.d.ts.map +1 -0
- package/dist/src/integrations/zendesk-client.d.ts +395 -0
- package/dist/src/integrations/zendesk-client.d.ts.map +1 -0
- package/dist/src/integrations/zendesk.d.ts +39 -0
- package/dist/src/integrations/zendesk.d.ts.map +1 -0
- package/dist/src/server.d.ts +9 -0
- package/dist/src/server.d.ts.map +1 -1
- package/index.ts +18 -0
- package/package.json +2 -2
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Google Calendar Integration
|
|
3
|
+
* Enables Google Calendar tools with OAuth configuration
|
|
4
|
+
*/
|
|
5
|
+
import type { MCPIntegration } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Google Calendar integration configuration
|
|
8
|
+
*
|
|
9
|
+
* SERVER-SIDE: Automatically reads GCAL_CLIENT_ID and GCAL_CLIENT_SECRET from environment.
|
|
10
|
+
* You can override by providing explicit clientId and clientSecret values.
|
|
11
|
+
* CLIENT-SIDE: Omit clientId and clientSecret when using createMCPClient()
|
|
12
|
+
*/
|
|
13
|
+
export interface GcalIntegrationConfig {
|
|
14
|
+
/** Google OAuth client ID (defaults to GCAL_CLIENT_ID env var) */
|
|
15
|
+
clientId?: string;
|
|
16
|
+
/** Google OAuth client secret (defaults to GCAL_CLIENT_SECRET env var) */
|
|
17
|
+
clientSecret?: string;
|
|
18
|
+
/** Additional OAuth scopes (default: ['https://www.googleapis.com/auth/calendar']) */
|
|
19
|
+
scopes?: string[];
|
|
20
|
+
/** OAuth redirect URI */
|
|
21
|
+
redirectUri?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Default Google Calendar tools that this integration enables
|
|
25
|
+
* These should match the tool names exposed by your MCP server
|
|
26
|
+
*/
|
|
27
|
+
declare const GCAL_TOOLS: readonly ["gcal_list_calendars", "gcal_get_calendar", "gcal_list_events", "gcal_get_event", "gcal_create_event", "gcal_update_event", "gcal_delete_event", "gcal_list_attendees", "gcal_quick_add"];
|
|
28
|
+
export declare function gcalIntegration(config?: GcalIntegrationConfig): MCPIntegration<"gcal">;
|
|
29
|
+
/**
|
|
30
|
+
* Export tool names for type inference
|
|
31
|
+
*/
|
|
32
|
+
export type GcalTools = typeof GCAL_TOOLS[number];
|
|
33
|
+
/**
|
|
34
|
+
* Export Google Calendar client types
|
|
35
|
+
*/
|
|
36
|
+
export type { GcalIntegrationClient } from "./gcal-client.js";
|
|
37
|
+
//# sourceMappingURL=gcal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gcal.d.ts","sourceRoot":"","sources":["../../../src/integrations/gcal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAG9D;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,QAAA,MAAM,UAAU,qMAUN,CAAC;AAGX,wBAAgB,eAAe,CAAC,MAAM,GAAE,qBAA0B,GAAG,cAAc,CAAC,MAAM,CAAC,CAyB1F;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAElD;;GAEG;AACH,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Linear Integration Client Types
|
|
3
|
+
* Fully typed interface for Linear integration methods
|
|
4
|
+
*/
|
|
5
|
+
import type { MCPToolCallResponse } from "../protocol/messages.js";
|
|
6
|
+
/**
|
|
7
|
+
* Linear Issue
|
|
8
|
+
*/
|
|
9
|
+
export interface LinearIssue {
|
|
10
|
+
id: string;
|
|
11
|
+
identifier: string;
|
|
12
|
+
title: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
priority: number;
|
|
15
|
+
priorityLabel: string;
|
|
16
|
+
state: {
|
|
17
|
+
id: string;
|
|
18
|
+
name: string;
|
|
19
|
+
type: string;
|
|
20
|
+
color: string;
|
|
21
|
+
};
|
|
22
|
+
assignee?: {
|
|
23
|
+
id: string;
|
|
24
|
+
name: string;
|
|
25
|
+
email: string;
|
|
26
|
+
avatarUrl?: string;
|
|
27
|
+
};
|
|
28
|
+
team: {
|
|
29
|
+
id: string;
|
|
30
|
+
name: string;
|
|
31
|
+
key: string;
|
|
32
|
+
};
|
|
33
|
+
project?: {
|
|
34
|
+
id: string;
|
|
35
|
+
name: string;
|
|
36
|
+
};
|
|
37
|
+
labels?: Array<{
|
|
38
|
+
id: string;
|
|
39
|
+
name: string;
|
|
40
|
+
color: string;
|
|
41
|
+
}>;
|
|
42
|
+
createdAt: string;
|
|
43
|
+
updatedAt: string;
|
|
44
|
+
completedAt?: string;
|
|
45
|
+
canceledAt?: string;
|
|
46
|
+
dueDate?: string;
|
|
47
|
+
url: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Linear Project
|
|
51
|
+
*/
|
|
52
|
+
export interface LinearProject {
|
|
53
|
+
id: string;
|
|
54
|
+
name: string;
|
|
55
|
+
description?: string;
|
|
56
|
+
icon?: string;
|
|
57
|
+
color?: string;
|
|
58
|
+
state: string;
|
|
59
|
+
progress: number;
|
|
60
|
+
startDate?: string;
|
|
61
|
+
targetDate?: string;
|
|
62
|
+
createdAt: string;
|
|
63
|
+
updatedAt: string;
|
|
64
|
+
url: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Linear Team
|
|
68
|
+
*/
|
|
69
|
+
export interface LinearTeam {
|
|
70
|
+
id: string;
|
|
71
|
+
name: string;
|
|
72
|
+
key: string;
|
|
73
|
+
description?: string;
|
|
74
|
+
icon?: string;
|
|
75
|
+
color?: string;
|
|
76
|
+
private: boolean;
|
|
77
|
+
createdAt: string;
|
|
78
|
+
updatedAt: string;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Linear Label
|
|
82
|
+
*/
|
|
83
|
+
export interface LinearLabel {
|
|
84
|
+
id: string;
|
|
85
|
+
name: string;
|
|
86
|
+
description?: string;
|
|
87
|
+
color: string;
|
|
88
|
+
createdAt: string;
|
|
89
|
+
updatedAt: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Linear Comment
|
|
93
|
+
*/
|
|
94
|
+
export interface LinearComment {
|
|
95
|
+
id: string;
|
|
96
|
+
body: string;
|
|
97
|
+
user: {
|
|
98
|
+
id: string;
|
|
99
|
+
name: string;
|
|
100
|
+
email: string;
|
|
101
|
+
};
|
|
102
|
+
createdAt: string;
|
|
103
|
+
updatedAt: string;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Linear Integration Client Interface
|
|
107
|
+
* Provides type-safe methods for all Linear operations
|
|
108
|
+
*/
|
|
109
|
+
export interface LinearIntegrationClient {
|
|
110
|
+
/**
|
|
111
|
+
* Create a new issue in Linear
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* const issue = await client.linear.createIssue({
|
|
116
|
+
* teamId: "team-id",
|
|
117
|
+
* title: "Fix authentication bug",
|
|
118
|
+
* description: "Users are unable to login"
|
|
119
|
+
* });
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
createIssue(params: {
|
|
123
|
+
/** Team ID to create the issue in */
|
|
124
|
+
teamId: string;
|
|
125
|
+
/** Issue title */
|
|
126
|
+
title: string;
|
|
127
|
+
/** Issue description (markdown supported) */
|
|
128
|
+
description?: string;
|
|
129
|
+
/** Priority (0 = no priority, 1 = urgent, 2 = high, 3 = normal, 4 = low) */
|
|
130
|
+
priority?: number;
|
|
131
|
+
/** Assignee user ID */
|
|
132
|
+
assigneeId?: string;
|
|
133
|
+
/** Project ID */
|
|
134
|
+
projectId?: string;
|
|
135
|
+
/** Label IDs */
|
|
136
|
+
labelIds?: string[];
|
|
137
|
+
/** Due date (ISO 8601) */
|
|
138
|
+
dueDate?: string;
|
|
139
|
+
/** State ID */
|
|
140
|
+
stateId?: string;
|
|
141
|
+
}): Promise<MCPToolCallResponse>;
|
|
142
|
+
/**
|
|
143
|
+
* List issues in Linear
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```typescript
|
|
147
|
+
* const issues = await client.linear.listIssues({
|
|
148
|
+
* teamId: "team-id",
|
|
149
|
+
* first: 50
|
|
150
|
+
* });
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
listIssues(params?: {
|
|
154
|
+
/** Team ID to filter by */
|
|
155
|
+
teamId?: string;
|
|
156
|
+
/** Project ID to filter by */
|
|
157
|
+
projectId?: string;
|
|
158
|
+
/** Assignee user ID to filter by */
|
|
159
|
+
assigneeId?: string;
|
|
160
|
+
/** State IDs to filter by */
|
|
161
|
+
stateIds?: string[];
|
|
162
|
+
/** Label IDs to filter by */
|
|
163
|
+
labelIds?: string[];
|
|
164
|
+
/** Number of issues to return */
|
|
165
|
+
first?: number;
|
|
166
|
+
/** Pagination cursor */
|
|
167
|
+
after?: string;
|
|
168
|
+
/** Include archived issues */
|
|
169
|
+
includeArchived?: boolean;
|
|
170
|
+
}): Promise<MCPToolCallResponse>;
|
|
171
|
+
/**
|
|
172
|
+
* Get a specific issue by ID or identifier
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```typescript
|
|
176
|
+
* const issue = await client.linear.getIssue({
|
|
177
|
+
* issueId: "ABC-123"
|
|
178
|
+
* });
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
getIssue(params: {
|
|
182
|
+
/** Issue ID or identifier (e.g., "ABC-123") */
|
|
183
|
+
issueId: string;
|
|
184
|
+
}): Promise<MCPToolCallResponse>;
|
|
185
|
+
/**
|
|
186
|
+
* Update an existing issue
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* ```typescript
|
|
190
|
+
* await client.linear.updateIssue({
|
|
191
|
+
* issueId: "issue-id",
|
|
192
|
+
* title: "Updated title",
|
|
193
|
+
* priority: 1
|
|
194
|
+
* });
|
|
195
|
+
* ```
|
|
196
|
+
*/
|
|
197
|
+
updateIssue(params: {
|
|
198
|
+
/** Issue ID to update */
|
|
199
|
+
issueId: string;
|
|
200
|
+
/** New title */
|
|
201
|
+
title?: string;
|
|
202
|
+
/** New description */
|
|
203
|
+
description?: string;
|
|
204
|
+
/** New priority */
|
|
205
|
+
priority?: number;
|
|
206
|
+
/** New assignee user ID */
|
|
207
|
+
assigneeId?: string;
|
|
208
|
+
/** New state ID */
|
|
209
|
+
stateId?: string;
|
|
210
|
+
/** New project ID */
|
|
211
|
+
projectId?: string;
|
|
212
|
+
/** New label IDs */
|
|
213
|
+
labelIds?: string[];
|
|
214
|
+
/** New due date */
|
|
215
|
+
dueDate?: string;
|
|
216
|
+
}): Promise<MCPToolCallResponse>;
|
|
217
|
+
/**
|
|
218
|
+
* List projects in Linear
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
* ```typescript
|
|
222
|
+
* const projects = await client.linear.listProjects({
|
|
223
|
+
* first: 20
|
|
224
|
+
* });
|
|
225
|
+
* ```
|
|
226
|
+
*/
|
|
227
|
+
listProjects(params?: {
|
|
228
|
+
/** Team ID to filter by */
|
|
229
|
+
teamId?: string;
|
|
230
|
+
/** Number of projects to return */
|
|
231
|
+
first?: number;
|
|
232
|
+
/** Pagination cursor */
|
|
233
|
+
after?: string;
|
|
234
|
+
/** Include archived projects */
|
|
235
|
+
includeArchived?: boolean;
|
|
236
|
+
}): Promise<MCPToolCallResponse>;
|
|
237
|
+
/**
|
|
238
|
+
* List teams in Linear
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* ```typescript
|
|
242
|
+
* const teams = await client.linear.listTeams({
|
|
243
|
+
* first: 20
|
|
244
|
+
* });
|
|
245
|
+
* ```
|
|
246
|
+
*/
|
|
247
|
+
listTeams(params?: {
|
|
248
|
+
/** Number of teams to return */
|
|
249
|
+
first?: number;
|
|
250
|
+
/** Pagination cursor */
|
|
251
|
+
after?: string;
|
|
252
|
+
}): Promise<MCPToolCallResponse>;
|
|
253
|
+
/**
|
|
254
|
+
* Add a comment to an issue
|
|
255
|
+
*
|
|
256
|
+
* @example
|
|
257
|
+
* ```typescript
|
|
258
|
+
* await client.linear.addComment({
|
|
259
|
+
* issueId: "issue-id",
|
|
260
|
+
* body: "This is a comment"
|
|
261
|
+
* });
|
|
262
|
+
* ```
|
|
263
|
+
*/
|
|
264
|
+
addComment(params: {
|
|
265
|
+
/** Issue ID to comment on */
|
|
266
|
+
issueId: string;
|
|
267
|
+
/** Comment body (markdown supported) */
|
|
268
|
+
body: string;
|
|
269
|
+
}): Promise<MCPToolCallResponse>;
|
|
270
|
+
/**
|
|
271
|
+
* List labels in Linear
|
|
272
|
+
*
|
|
273
|
+
* @example
|
|
274
|
+
* ```typescript
|
|
275
|
+
* const labels = await client.linear.listLabels({
|
|
276
|
+
* teamId: "team-id"
|
|
277
|
+
* });
|
|
278
|
+
* ```
|
|
279
|
+
*/
|
|
280
|
+
listLabels(params?: {
|
|
281
|
+
/** Team ID to filter by */
|
|
282
|
+
teamId?: string;
|
|
283
|
+
/** Number of labels to return */
|
|
284
|
+
first?: number;
|
|
285
|
+
/** Pagination cursor */
|
|
286
|
+
after?: string;
|
|
287
|
+
}): Promise<MCPToolCallResponse>;
|
|
288
|
+
/**
|
|
289
|
+
* Search for issues
|
|
290
|
+
*
|
|
291
|
+
* @example
|
|
292
|
+
* ```typescript
|
|
293
|
+
* const results = await client.linear.searchIssues({
|
|
294
|
+
* query: "authentication bug"
|
|
295
|
+
* });
|
|
296
|
+
* ```
|
|
297
|
+
*/
|
|
298
|
+
searchIssues(params: {
|
|
299
|
+
/** Search query */
|
|
300
|
+
query: string;
|
|
301
|
+
/** Team ID to filter by */
|
|
302
|
+
teamId?: string;
|
|
303
|
+
/** Include archived issues */
|
|
304
|
+
includeArchived?: boolean;
|
|
305
|
+
/** Number of results to return */
|
|
306
|
+
first?: number;
|
|
307
|
+
}): Promise<MCPToolCallResponse>;
|
|
308
|
+
}
|
|
309
|
+
//# sourceMappingURL=linear-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linear-client.d.ts","sourceRoot":"","sources":["../../../src/integrations/linear-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Linear Integration
|
|
3
|
+
* Enables Linear tools with OAuth configuration
|
|
4
|
+
*/
|
|
5
|
+
import type { MCPIntegration } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Linear integration configuration
|
|
8
|
+
*
|
|
9
|
+
* SERVER-SIDE: Automatically reads LINEAR_CLIENT_ID and LINEAR_CLIENT_SECRET from environment.
|
|
10
|
+
* You can override by providing explicit clientId and clientSecret values.
|
|
11
|
+
* CLIENT-SIDE: Omit clientId and clientSecret when using createMCPClient()
|
|
12
|
+
*/
|
|
13
|
+
export interface LinearIntegrationConfig {
|
|
14
|
+
/** Linear OAuth client ID (defaults to LINEAR_CLIENT_ID env var) */
|
|
15
|
+
clientId?: string;
|
|
16
|
+
/** Linear OAuth client secret (defaults to LINEAR_CLIENT_SECRET env var) */
|
|
17
|
+
clientSecret?: string;
|
|
18
|
+
/** Additional OAuth scopes (default: ['read', 'write', 'issues:create']) */
|
|
19
|
+
scopes?: string[];
|
|
20
|
+
/** OAuth redirect URI */
|
|
21
|
+
redirectUri?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Default Linear tools that this integration enables
|
|
25
|
+
* These should match the tool names exposed by your MCP server
|
|
26
|
+
*/
|
|
27
|
+
declare const LINEAR_TOOLS: readonly ["linear_create_issue", "linear_list_issues", "linear_get_issue", "linear_update_issue", "linear_list_projects", "linear_list_teams", "linear_add_comment", "linear_list_labels", "linear_search_issues"];
|
|
28
|
+
export declare function linearIntegration(config?: LinearIntegrationConfig): MCPIntegration<"linear">;
|
|
29
|
+
/**
|
|
30
|
+
* Export tool names for type inference
|
|
31
|
+
*/
|
|
32
|
+
export type LinearTools = typeof LINEAR_TOOLS[number];
|
|
33
|
+
/**
|
|
34
|
+
* Export Linear client types
|
|
35
|
+
*/
|
|
36
|
+
export type { LinearIntegrationClient } from "./linear-client.js";
|
|
37
|
+
//# sourceMappingURL=linear.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../../src/integrations/linear.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAG9D;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,QAAA,MAAM,YAAY,oNAUR,CAAC;AAGX,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,uBAA4B,GAAG,cAAc,CAAC,QAAQ,CAAC,CAyBhG;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAEtD;;GAEG;AACH,YAAY,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC"}
|