zudello-chat-sdk 0.1.1
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/README.md +325 -0
- package/dist/cjs/client.js +124 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/constants.js +578 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/errors.js +195 -0
- package/dist/cjs/errors.js.map +1 -0
- package/dist/cjs/http/client.js +218 -0
- package/dist/cjs/http/client.js.map +1 -0
- package/dist/cjs/index.js +80 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/modules/approvals.js +90 -0
- package/dist/cjs/modules/approvals.js.map +1 -0
- package/dist/cjs/modules/automation.js +110 -0
- package/dist/cjs/modules/automation.js.map +1 -0
- package/dist/cjs/modules/config.js +264 -0
- package/dist/cjs/modules/config.js.map +1 -0
- package/dist/cjs/modules/datasets.js +103 -0
- package/dist/cjs/modules/datasets.js.map +1 -0
- package/dist/cjs/modules/exports.js +126 -0
- package/dist/cjs/modules/exports.js.map +1 -0
- package/dist/cjs/modules/inboxes.js +99 -0
- package/dist/cjs/modules/inboxes.js.map +1 -0
- package/dist/cjs/modules/models.js +105 -0
- package/dist/cjs/modules/models.js.map +1 -0
- package/dist/cjs/modules/org.js +335 -0
- package/dist/cjs/modules/org.js.map +1 -0
- package/dist/cjs/modules/quick-actions.js +71 -0
- package/dist/cjs/modules/quick-actions.js.map +1 -0
- package/dist/cjs/modules/resources.js +236 -0
- package/dist/cjs/modules/resources.js.map +1 -0
- package/dist/cjs/modules/search.js +188 -0
- package/dist/cjs/modules/search.js.map +1 -0
- package/dist/cjs/modules/sentences.js +155 -0
- package/dist/cjs/modules/sentences.js.map +1 -0
- package/dist/cjs/modules/users.js +120 -0
- package/dist/cjs/modules/users.js.map +1 -0
- package/dist/cjs/types.js +8 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/client.js +120 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/constants.js +565 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/errors.js +183 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/http/client.js +214 -0
- package/dist/esm/http/client.js.map +1 -0
- package/dist/esm/index.js +49 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/modules/approvals.js +86 -0
- package/dist/esm/modules/approvals.js.map +1 -0
- package/dist/esm/modules/automation.js +106 -0
- package/dist/esm/modules/automation.js.map +1 -0
- package/dist/esm/modules/config.js +260 -0
- package/dist/esm/modules/config.js.map +1 -0
- package/dist/esm/modules/datasets.js +99 -0
- package/dist/esm/modules/datasets.js.map +1 -0
- package/dist/esm/modules/exports.js +122 -0
- package/dist/esm/modules/exports.js.map +1 -0
- package/dist/esm/modules/inboxes.js +95 -0
- package/dist/esm/modules/inboxes.js.map +1 -0
- package/dist/esm/modules/models.js +101 -0
- package/dist/esm/modules/models.js.map +1 -0
- package/dist/esm/modules/org.js +331 -0
- package/dist/esm/modules/org.js.map +1 -0
- package/dist/esm/modules/quick-actions.js +67 -0
- package/dist/esm/modules/quick-actions.js.map +1 -0
- package/dist/esm/modules/resources.js +232 -0
- package/dist/esm/modules/resources.js.map +1 -0
- package/dist/esm/modules/search.js +184 -0
- package/dist/esm/modules/search.js.map +1 -0
- package/dist/esm/modules/sentences.js +151 -0
- package/dist/esm/modules/sentences.js.map +1 -0
- package/dist/esm/modules/users.js +116 -0
- package/dist/esm/modules/users.js.map +1 -0
- package/dist/esm/types.js +7 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/types/client.d.ts +105 -0
- package/dist/types/client.d.ts.map +1 -0
- package/dist/types/constants.d.ts +505 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/errors.d.ts +143 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/http/client.d.ts +42 -0
- package/dist/types/http/client.d.ts.map +1 -0
- package/dist/types/index.d.ts +37 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/modules/approvals.d.ts +62 -0
- package/dist/types/modules/approvals.d.ts.map +1 -0
- package/dist/types/modules/automation.d.ts +79 -0
- package/dist/types/modules/automation.d.ts.map +1 -0
- package/dist/types/modules/config.d.ts +173 -0
- package/dist/types/modules/config.d.ts.map +1 -0
- package/dist/types/modules/datasets.d.ts +55 -0
- package/dist/types/modules/datasets.d.ts.map +1 -0
- package/dist/types/modules/exports.d.ts +76 -0
- package/dist/types/modules/exports.d.ts.map +1 -0
- package/dist/types/modules/inboxes.d.ts +91 -0
- package/dist/types/modules/inboxes.d.ts.map +1 -0
- package/dist/types/modules/models.d.ts +91 -0
- package/dist/types/modules/models.d.ts.map +1 -0
- package/dist/types/modules/org.d.ts +122 -0
- package/dist/types/modules/org.d.ts.map +1 -0
- package/dist/types/modules/quick-actions.d.ts +58 -0
- package/dist/types/modules/quick-actions.d.ts.map +1 -0
- package/dist/types/modules/resources.d.ts +111 -0
- package/dist/types/modules/resources.d.ts.map +1 -0
- package/dist/types/modules/search.d.ts +72 -0
- package/dist/types/modules/search.d.ts.map +1 -0
- package/dist/types/modules/sentences.d.ts +105 -0
- package/dist/types/modules/sentences.d.ts.map +1 -0
- package/dist/types/modules/users.d.ts +65 -0
- package/dist/types/modules/users.d.ts.map +1 -0
- package/dist/types/types.d.ts +2056 -0
- package/dist/types/types.d.ts.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Users Module
|
|
4
|
+
*
|
|
5
|
+
* Methods for managing team users, notifications, and language settings.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.UsersModule = void 0;
|
|
9
|
+
/**
|
|
10
|
+
* Team user operations for Zudello.
|
|
11
|
+
*/
|
|
12
|
+
class UsersModule {
|
|
13
|
+
http;
|
|
14
|
+
constructor(http) {
|
|
15
|
+
this.http = http;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Get users for the team.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* const users = await client.users.list({ status: 'ACTIVE' });
|
|
22
|
+
*/
|
|
23
|
+
async list(options = {}) {
|
|
24
|
+
const params = new URLSearchParams();
|
|
25
|
+
if (options.status)
|
|
26
|
+
params.set('status', options.status);
|
|
27
|
+
if (options.search)
|
|
28
|
+
params.set('search', options.search);
|
|
29
|
+
if (options.namePattern)
|
|
30
|
+
params.set('name_pattern', options.namePattern);
|
|
31
|
+
if (options.emailDomain)
|
|
32
|
+
params.set('email_domain', options.emailDomain);
|
|
33
|
+
if (options.limit)
|
|
34
|
+
params.set('limit', String(options.limit));
|
|
35
|
+
if (options.offset)
|
|
36
|
+
params.set('offset', String(options.offset));
|
|
37
|
+
const response = await this.http.request('GET', `/team-data/v1/users/?${params.toString()}`);
|
|
38
|
+
if (response.success === false) {
|
|
39
|
+
return { success: false, error: response.message || response.error || 'Failed to list users' };
|
|
40
|
+
}
|
|
41
|
+
return { success: true, data: response.data ?? [] };
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get available notification types.
|
|
45
|
+
*/
|
|
46
|
+
async getNotificationTypes() {
|
|
47
|
+
const response = await this.http.request('GET', '/team-data/v1/notification/user/notification_types');
|
|
48
|
+
if (response.success === false) {
|
|
49
|
+
return { success: false, error: response.message || response.error || 'Failed to get notification types' };
|
|
50
|
+
}
|
|
51
|
+
return { success: true, data: response.data ?? [] };
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Get notification preferences for a user.
|
|
55
|
+
*/
|
|
56
|
+
async getNotificationPreferences(userUuid) {
|
|
57
|
+
const response = await this.http.request('GET', `/team-data/v1/notification/user/preferences?user_uuid=${encodeURIComponent(userUuid)}`);
|
|
58
|
+
if (response.success === false) {
|
|
59
|
+
return { success: false, error: response.message || response.error || 'Failed to get notification preferences' };
|
|
60
|
+
}
|
|
61
|
+
return { success: true, data: response.data ?? [] };
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Update notification preferences.
|
|
65
|
+
*/
|
|
66
|
+
async updateNotificationPreferences(preferences) {
|
|
67
|
+
const response = await this.http.request('POST', '/team-data/v1/notification/user/preferences', preferences);
|
|
68
|
+
if (response.success === false) {
|
|
69
|
+
return { success: false, error: response.message || response.error || 'Failed to update notification preferences' };
|
|
70
|
+
}
|
|
71
|
+
return { success: true, data: response.data ?? [] };
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Get language placeholders.
|
|
75
|
+
*/
|
|
76
|
+
async getLanguagePlaceholders() {
|
|
77
|
+
const params = new URLSearchParams({
|
|
78
|
+
resource_type: 'language_placeholders',
|
|
79
|
+
team_uuid: this.http.config.teamId,
|
|
80
|
+
});
|
|
81
|
+
const response = await this.http.request('GET', `/general-store/api/v1/resources/?${params.toString()}`);
|
|
82
|
+
if (response.success === false) {
|
|
83
|
+
return { success: false, error: response.message || response.error || 'Failed to get language placeholders' };
|
|
84
|
+
}
|
|
85
|
+
const resource = response.data?.[0];
|
|
86
|
+
return { success: true, data: resource?.payload?.lang ?? {} };
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Update language placeholders.
|
|
90
|
+
*/
|
|
91
|
+
async updateLanguagePlaceholders(placeholders) {
|
|
92
|
+
// First get the existing resource to get its UUID
|
|
93
|
+
const params = new URLSearchParams({
|
|
94
|
+
resource_type: 'language_placeholders',
|
|
95
|
+
team_uuid: this.http.config.teamId,
|
|
96
|
+
});
|
|
97
|
+
const existing = await this.http.request('GET', `/general-store/api/v1/resources/?${params.toString()}`);
|
|
98
|
+
if (existing.success === false) {
|
|
99
|
+
return { success: false, error: existing.message || existing.error || 'Failed to get existing language placeholders' };
|
|
100
|
+
}
|
|
101
|
+
const resource = existing.data?.[0];
|
|
102
|
+
if (resource?.uuid) {
|
|
103
|
+
// Update existing
|
|
104
|
+
const updateResponse = await this.http.request('PUT', `/general-store/api/v1/resources/${resource.uuid}?resource_type=language_placeholders`, { payload: { lang: placeholders }, team_uuid: this.http.config.teamId, uuid: resource.uuid });
|
|
105
|
+
if (updateResponse.success === false) {
|
|
106
|
+
return { success: false, error: updateResponse.message || updateResponse.error || 'Failed to update language placeholders' };
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
// Create new
|
|
111
|
+
const createResponse = await this.http.request('POST', `/general-store/api/v1/resources/?resource_type=language_placeholders`, { payload: { lang: placeholders }, team_uuid: this.http.config.teamId });
|
|
112
|
+
if (createResponse.success === false) {
|
|
113
|
+
return { success: false, error: createResponse.message || createResponse.error || 'Failed to create language placeholders' };
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return { success: true };
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.UsersModule = UsersModule;
|
|
120
|
+
//# sourceMappingURL=users.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/modules/users.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zudello SDK Client
|
|
3
|
+
*
|
|
4
|
+
* Main client class for interacting with the Zudello API.
|
|
5
|
+
* Designed for use in E2B sandboxes with environment variable configuration.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* import { ZudelloClient } from 'zudello-chat-sdk';
|
|
9
|
+
*
|
|
10
|
+
* // Zero-config: reads from environment variables
|
|
11
|
+
* const client = new ZudelloClient();
|
|
12
|
+
*
|
|
13
|
+
* // Search for pending invoices
|
|
14
|
+
* const invoices = await client.search.query({
|
|
15
|
+
* model: 'Transaction',
|
|
16
|
+
* module: 'PURCHASING',
|
|
17
|
+
* submodule: 'INVOICE',
|
|
18
|
+
* filter: { status: 'REVIEW' }
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* // Auto-pagination with async iterators
|
|
22
|
+
* for await (const invoice of client.search.list({ model: 'Transaction', module: 'PURCHASING' })) {
|
|
23
|
+
* console.log(invoice.document_number);
|
|
24
|
+
* }
|
|
25
|
+
*
|
|
26
|
+
* // Create resources
|
|
27
|
+
* await client.resources.create({
|
|
28
|
+
* model: 'Supplier',
|
|
29
|
+
* data: { trading_name: 'ACME Corp', code: 'SUP-001' }
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* // Organisation-level admin (requires privileges)
|
|
33
|
+
* const users = await client.org.listUsers();
|
|
34
|
+
*/
|
|
35
|
+
import { HttpClient } from './http/client';
|
|
36
|
+
import { SearchModule } from './modules/search';
|
|
37
|
+
import { ResourcesModule } from './modules/resources';
|
|
38
|
+
import { ModelsModule } from './modules/models';
|
|
39
|
+
import { ConfigModule } from './modules/config';
|
|
40
|
+
import { SentencesModule } from './modules/sentences';
|
|
41
|
+
import { AutomationModule } from './modules/automation';
|
|
42
|
+
import { ApprovalsModule } from './modules/approvals';
|
|
43
|
+
import { UsersModule } from './modules/users';
|
|
44
|
+
import { OrgModule } from './modules/org';
|
|
45
|
+
import { DatasetsModule } from './modules/datasets';
|
|
46
|
+
import { ExportsModule } from './modules/exports';
|
|
47
|
+
import { QuickActionsModule } from './modules/quick-actions';
|
|
48
|
+
import { InboxesModule } from './modules/inboxes';
|
|
49
|
+
/**
|
|
50
|
+
* Main client for the Zudello API.
|
|
51
|
+
*
|
|
52
|
+
* Configuration is read from environment variables by default:
|
|
53
|
+
* - `ZUDELLO_TOKEN`: Authentication token (required)
|
|
54
|
+
* - `ZUDELLO_ORG_ID`: Organization UUID (required)
|
|
55
|
+
* - `ZUDELLO_TEAM_ID`: Team UUID (required)
|
|
56
|
+
* - `ZUDELLO_CLUSTER_URL`: API cluster URL (required)
|
|
57
|
+
* - `ZUDELLO_AUTH_API_BASE`: Auth API base URL (required)
|
|
58
|
+
* - `ZUDELLO_USER_ID`: User UUID (optional)
|
|
59
|
+
* - `ZUDELLO_USER_EMAIL`: User email (optional)
|
|
60
|
+
*
|
|
61
|
+
* @throws {ZudelloConfigurationError} If required configuration is missing
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* // Auto-configured from environment
|
|
65
|
+
* const client = new ZudelloClient();
|
|
66
|
+
*
|
|
67
|
+
* // Or explicit configuration
|
|
68
|
+
* const client = new ZudelloClient({
|
|
69
|
+
* token: 'your-token',
|
|
70
|
+
* organizationId: 'org-uuid',
|
|
71
|
+
* teamId: 'team-uuid',
|
|
72
|
+
* clusterUrl: 'api.1.global.zudello.io',
|
|
73
|
+
* authApiBase: 'https://auth.zudello.io'
|
|
74
|
+
* });
|
|
75
|
+
*/
|
|
76
|
+
export class ZudelloClient {
|
|
77
|
+
/** Search and fetch operations */
|
|
78
|
+
search;
|
|
79
|
+
/** Resource CRUD and batch operations */
|
|
80
|
+
resources;
|
|
81
|
+
/** Model introspection */
|
|
82
|
+
models;
|
|
83
|
+
/** Configuration, field settings, statuses, document types */
|
|
84
|
+
config;
|
|
85
|
+
/** Sentences (automation rules) */
|
|
86
|
+
sentences;
|
|
87
|
+
/** Scripts, triggers, and execution logs */
|
|
88
|
+
automation;
|
|
89
|
+
/** Approval workflows and bulk operations */
|
|
90
|
+
approvals;
|
|
91
|
+
/** Team users, notifications, language settings */
|
|
92
|
+
users;
|
|
93
|
+
/** Organisation-level admin (requires privileges) */
|
|
94
|
+
org;
|
|
95
|
+
/** Datasets (lookup tables, DOAs) */
|
|
96
|
+
datasets;
|
|
97
|
+
/** Export templates and data exports */
|
|
98
|
+
exports;
|
|
99
|
+
/** Quick actions */
|
|
100
|
+
quickActions;
|
|
101
|
+
/** Inboxes, budgets, contracts, messages */
|
|
102
|
+
inboxes;
|
|
103
|
+
constructor(config) {
|
|
104
|
+
const http = new HttpClient(config);
|
|
105
|
+
this.search = new SearchModule(http);
|
|
106
|
+
this.resources = new ResourcesModule(http);
|
|
107
|
+
this.models = new ModelsModule(http);
|
|
108
|
+
this.config = new ConfigModule(http);
|
|
109
|
+
this.sentences = new SentencesModule(http);
|
|
110
|
+
this.automation = new AutomationModule(http);
|
|
111
|
+
this.approvals = new ApprovalsModule(http);
|
|
112
|
+
this.users = new UsersModule(http);
|
|
113
|
+
this.org = new OrgModule(http);
|
|
114
|
+
this.datasets = new DatasetsModule(http);
|
|
115
|
+
this.exports = new ExportsModule(http);
|
|
116
|
+
this.quickActions = new QuickActionsModule(http);
|
|
117
|
+
this.inboxes = new InboxesModule(http);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,aAAa;IACxB,kCAAkC;IACzB,MAAM,CAAe;IAE9B,yCAAyC;IAChC,SAAS,CAAkB;IAEpC,0BAA0B;IACjB,MAAM,CAAe;IAE9B,8DAA8D;IACrD,MAAM,CAAe;IAE9B,mCAAmC;IAC1B,SAAS,CAAkB;IAEpC,4CAA4C;IACnC,UAAU,CAAmB;IAEtC,6CAA6C;IACpC,SAAS,CAAkB;IAEpC,mDAAmD;IAC1C,KAAK,CAAc;IAE5B,qDAAqD;IAC5C,GAAG,CAAY;IAExB,qCAAqC;IAC5B,QAAQ,CAAiB;IAElC,wCAAwC;IAC/B,OAAO,CAAgB;IAEhC,oBAAoB;IACX,YAAY,CAAqB;IAE1C,4CAA4C;IACnC,OAAO,CAAgB;IAEhC,YAAY,MAA4B;QACtC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CACF"}
|